Comment défaire “surroundContents” en javascript?
-
06-07-2019 - |
Question
J'écris un script qui doit déplacer un élément de noeud enveloppant sur la page. Je trouve que lorsque je fais cela, je retire les enfants précédemment emballés. Comment désannuler les enfants d'un nœud afin de pouvoir déplacer ce nœud parent ailleurs?
Je pensais à quelque chose comme ça:
var parg = document.getElementById("blah");
if (parg.hasChildNodes())
{
var children = parg.childNodes;
while (children.length > 0)
{
parg.insertBefore(parg.firstChild);
parg.removeChild(parg.firstChild);
};
};
La ligne dont je devine le problème est le "insertBefore". logique.
La solution
Autres conseils
Vous aurez besoin de parcourir vos enfants de premier niveau et d'assigner leur parent au "wrapper". le parent de l'élément.
Quelque chose comme ça, peut-être:
if ( parg.hasChildNodes() ) {
var children = parg.childNodes;
for ( child in children ) {
child.parentNode = parg.parentNode;
}
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow