你如何撤销;“周边内容”;用javascript?
我正在编写一个脚本,需要在页面上移动包装节点元素。我发现当我这样做的时候,我移除了之前包装好的孩子。如何取消节点的子节点,以便将父节点移动到其他位置 我是这样想的:你如何撤销;“周边内容”;用javascript?,javascript,removechild,Javascript,Removechild,我正在编写一个脚本,需要在页面上移动包装节点元素。我发现当我这样做的时候,我移除了之前包装好的孩子。如何取消节点的子节点,以便将父节点移动到其他位置 我是这样想的: var parg = document.getElementById("blah"); if (parg.hasChildNodes()) { var children = parg.childNodes; while (children.length > 0) { p
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”逻辑。您需要迭代第一级子元素,并将它们的父元素分配给“wrapper”元素的父元素 也许是这样的:
if ( parg.hasChildNodes() ) {
var children = parg.childNodes;
for ( child in children ) {
child.parentNode = parg.parentNode;
}
}
insertBefore在元素节点上操作并接受两个参数, 新节点,以及新节点之前的节点
function unwrap(who){
var pa= who.parentNode;
while(who.firstChild){
pa.insertBefore(who.firstChild, who);
}
}
//试验
展开(document.getElementById(“blah”)
好问题!你真的把问题表达得很清楚