Como você desfazer “surroundContents” em javascript?
-
06-07-2019 - |
Pergunta
Eu estou escrevendo um script que precisa para mover um elemento de nó envolvendo em torno da página. Acho que quando eu faço isso, eu remover as crianças previamente embrulhados. Como eu unnest os filhos de um nó, para que eu possa mover esse nó pai em outro lugar?
Eu estava pensando algo como isto:
var parg = document.getElementById("blah");
if (parg.hasChildNodes())
{
var children = parg.childNodes;
while (children.length > 0)
{
parg.insertBefore(parg.firstChild);
parg.removeChild(parg.firstChild);
};
};
A linha que eu estou supondo que é o problema é a lógica "insertBefore".
Outras dicas
Você vai precisar iterar sobre seus primeiro nível crianças e atribuir o seu pai para o "wrapper" pai do elemento.
Algo como isto, talvez:
if ( parg.hasChildNodes() ) {
var children = parg.childNodes;
for ( child in children ) {
child.parentNode = parg.parentNode;
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow