Maison >interface Web >js tutoriel >Comment ajouter en toute sécurité des chaînes HTML au DOM sans utiliser « div.innerHTML = str; » ?

Comment ajouter en toute sécurité des chaînes HTML au DOM sans utiliser « div.innerHTML = str; » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-05 07:13:02982parcourir

How to Safely Append HTML Strings to the DOM Without Using `div.innerHTML  = str;`?

Ajouter des chaînes HTML au DOM sans div.innerHTML

Lors de l'ajout de chaînes HTML au DOM en utilisant div.innerHTML = str; peut être pratique, mais il est déconseillé en raison de failles de sécurité. Une approche plus sûre et plus robuste consiste à utiliser la méthode insertAdjacentHTML().

L'utilisation de insertAdjacentHTML()

insertAdjacentHTML() offre un moyen standardisé d'insérer des chaînes HTML dans le DOMAINE. Il prend deux paramètres :

  • position : Spécifie où insérer le code HTML par rapport à l'élément cible. Peut être "beforebegin", "afterbegin", "beforeend" ou "afterend".
  • html : La chaîne HTML à insérer.

Dans votre cas, pour ajouter la chaîne HTML fournie au

avec l'ID "test", vous pouvez utiliser le code suivant :

<code class="javascript">const div = document.getElementById("test");
div.insertAdjacentHTML("beforeend", str);</code>

La position "beforeend" insérera le code HTML à l'intérieur du

, après son dernier enfant.

Compatibilité des navigateurs

insertAdjacentHTML() est pris en charge dans tous les navigateurs modernes, notamment Chrome, Firefox, Safari et Edge.

Démo en direct

Pour une démonstration, visitez le JSFiddle suivant : http://jsfiddle.net/euQ5n/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn