Как отменить “surroundContents” в javascript?
-
06-07-2019 - |
Вопрос
Я пишу скрипт, который должен перемещать элемент оберточного узла по странице.Я обнаружил, что когда я делаю это, я удаляю ранее завернутые дочерние элементы.Как мне отменить назначение дочерних элементов узла, чтобы я мог переместить этот родительский узел в другое место?
Я думал примерно об этом:
var parg = document.getElementById("blah");
if (parg.hasChildNodes())
{
var children = parg.childNodes;
while (children.length > 0)
{
parg.insertBefore(parg.firstChild);
parg.removeChild(parg.firstChild);
};
};
Строка, в которой, как я предполагаю, проблема, - это логика "insertBefore".
Решение
Другие советы
Вам нужно будет перебрать своих детей первого уровня и назначить их родителя для " обертки " родительский элемент.
Что-то вроде этого, возможно:
if ( parg.hasChildNodes() ) {
var children = parg.childNodes;
for ( child in children ) {
child.parentNode = parg.parentNode;
}
}
Не связан с StackOverflow