Come annullare & # 8220; surroundContents & # 8221; in javascript?
-
06-07-2019 - |
Domanda
Sto scrivendo uno script che deve spostare un elemento del nodo avvolgente nella pagina. Trovo che quando faccio questo, rimuovo i bambini precedentemente avvolti. Come faccio a annullare la query dei figli di un nodo, in modo da poter spostare quel nodo padre altrove?
Stavo pensando a qualcosa del genere:
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 linea che suppongo sia il problema è il messaggio "insertBefore" logica.
Altri suggerimenti
Dovrai iterare sui tuoi figli di primo livello e assegnare i loro genitori al "wrapper" genitore dell'elemento.
Qualcosa del genere, forse:
if ( parg.hasChildNodes() ) {
var children = parg.childNodes;
for ( child in children ) {
child.parentNode = parg.parentNode;
}
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow