我正在编写一个脚本,该脚本需要在页面上四处移动包装节点元素。我发现执行此操作时,我会删除以前包装的子级。如何嵌套节点的子节点,以便可以将该父节点移动到其他位置?

我在想这样的事情:

  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”?-LMLPHP

关于javascript - 您如何在javascript中撤消 “surroundContents”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1614658/

10-10 18:36