现在要删除一个父节点下的所有子。
删除节点的操作其实类似于FIFO链表的删除操作,把第一个删除掉,第二个节点会补上作为第一个,第三个会补上作为第二个,如此下去,这样节点是索引会随着删除而改变。所以,如果是顺着删除,删除的顺序会是0,2,4等等,如果你不弄清楚,有时候会被搞的莫名奇妙,跳着删除,是吧,然后余下的就不会被删,而且如果子节点较多,这样操作会出错的,弄半天才恍然大悟原来是倒着删还是顺着删这种细微的差别。正确的做法是应该倒着删除。
下面提供两种方法:
第一种:
function removeChild($node){
var childs=$node.childNodes();
for(var i=childs.length-1;i<=0;i--){
$node.removeChild(childs.item(i));
}
}
第二种:
function removeChild($node){
var node=$node.firstChild;
var tmpNode;
while(node!=$node.lastChild){
tmpNode=node.nextSibling();
$node.removeChild(node);
node=tmpNode;
}
//记得还要删除最后一个孩子
$node.removeChild($node.lastChild);
}
后面那种方法的质量还不如第一种,所以一般选择第一种进行删除一个父节点下所有子节点的操作。
我是来这里学习的,这种讨论对大多数人来说应该属于菜鸟级别的吧,如果里面说错了请多指教,谢谢。
分享到:
相关推荐
假如:一段普通的代码: 其中gift_list为一个table的id 代码如下:var ...i++) { giftTrs[i].removeChild(giftTrs[i]); } 那么这时候只会删除第一行,因为当删除了一个之后,行的位置会向前移动一位。 giftTrs.le
javascript移出节点removeChild()使用介绍.docx
removeChild(a)是用来删除文档中的已有元素 参数a:要移出的节点 代码如下: ”guoDiv”> <span>1</span> <span>2</span> <span>3</span> </div> var oDiv = document.getElementById(“guoDiv”); var firsChild = ...
主要介绍了DOM节点删除函数removeChild()用法,实例分析了removeChild()函数实现结点删除的技巧,需要的朋友可以参考下
removechild 函数可以删除父元素的指定子元素,通过本文给大家介绍javascript的removeChild()函数用法,对js removechild函数相关知识感兴趣的朋友一起学习吧
下面小编就为大家带来一篇js removeChild 方法深入理解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文实例讲述了javascript删除元素节点removeChild()用法。分享给大家供大家参考。具体分析如下: 操作DOM节点的方法:removeChild(),移除子节点,那么可以变通一下来实现移除指定的节点,我们可以先去找到要删除...
本节为大家介绍了js使用removeChild方法动态删除div元素,需要的朋友可以参考下
js removeChild 障眼法之可能出现的错误,大家看下代码就知道了。
最近看到司徒正美的一篇文章《移除DOM节点》,文中说到在IE中移除容器类节点,会引起内存泄露。
1. 概述 删除后的节点虽然不在文档树中了,但其实它还在内存中,可以随时再次被添加到别的位置。 当你遍历一个父节点的子节点并进行...var removed = parent.removeChild(self); removed === self; // true 2. exa
下面给大家介绍Javascript removeChild()删除节点的方法,具体详情如下所示: 在Javascript中,只提供了一种删除节点的方法:removeChild()。 removeChild() 方法用来删除父节点的一个子节点。 语法: parent....