我正在编写一个脚本,该脚本需要在页面上四处移动包装节点元素。我发现执行此操作时,我会删除以前包装的子级。如何嵌套节点的子节点,以便可以将该父节点移动到其他位置?
我在想这样的事情:
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”逻辑。
最佳答案
insertBefore在元素节点上操作并接受两个参数,
新节点,以及新节点之前的节点。
function unwrap(who){
var pa= who.parentNode;
while(who.firstChild){
pa.insertBefore(who.firstChild, who);
}
}
//测试
拆开(document.getElementById(“blah”));
关于javascript - 您如何在javascript中撤消 “surroundContents”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1614658/