Lorsque votre application doit s'appuyer sur une bibliothèque de classe JavaScript spécifique, vous essairez par inadvertance de résoudre les problèmes d'une bibliothèque de classe elle-même, plutôt que des problèmes de langue. Par exemple, lorsque j'essaie d'envelopper le texte (qui peut également contenir des éléments HTML) avec un élément div. Supposons qu'il y ait le HTML suivant:
Ceci est un texte et <a href = ""> un lien </a>
Pour le moment, si vous souhaitez le convertir en ce qui suit:
<div> Ceci est un texte et <a href = ""> un lien </a> <v>
La façon la plus simple de Brute Force est que vous pouvez effectuer des mises à jour sur l'élément parent via la propriété .InnerHTML, mais le problème est que toutes les écoutes des événements liées seront invalides car un élément HTML sera recréé lors de l'utilisation de InnerHTML. C'est un si grand verre! Donc, pour le moment, vous ne pouvez utiliser JavaScript que pour y parvenir - il y a une lacune et une lacune. Voici le code d'implémentation:
var newwrapper = document.createElement ('div'); while (existantParent.firstChild) {// Déplacez l'élément DOM, newWrapper.ApendChild (existantParent.FirstChild); }Vous ne pouvez pas utiliser une boucle pour une boucle ici parce que ChildNodes est une collection de nœuds dynamiques, et tant que vous déplacez le nœud, cela affectera sa valeur d'index d'index. Nous utilisons une boucle de temps pour détecter le premier enfant de l'élément parent. S'il renvoie une valeur représentant false, vous savez que tous les nœuds ont été déplacés vers le nouveau parent!