`
weick
  • 浏览: 70335 次
  • 性别: Icon_minigender_1
  • 来自: 天堂的隔壁
社区版块
存档分类
最新评论

关于removeChild的使用

    博客分类:
  • js
 
阅读更多

现在要删除一个父节点下的所有子。

删除节点的操作其实类似于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);
}

后面那种方法的质量还不如第一种,所以一般选择第一种进行删除一个父节点下所有子节点的操作。
   

我是来这里学习的,这种讨论对大多数人来说应该属于菜鸟级别的吧,如果里面说错了请多指教,谢谢。

分享到:
评论
3 楼 崇拜快乐 2011-05-23  
习惯 直接  innerHTML="" 的路过~
2 楼 int08h 2011-05-23  
while ($node.childeNodes.length) {
    $node.removeChild($node.firstChild);
}
其实还不如innerHTML = ''算了
1 楼 g00000 2011-05-22  
我习惯用这段代码来删除。

var rc=$node.childNodes.length;
for(var k=0;k<rc;k++){
  $node.removeChild($node.firstChild);
}

相关推荐

    javascript removeChild 使用注意事项

    假如:一段普通的代码: 其中gift_list为一个table的id 代码如下:var ...i++) { giftTrs[i].removeChild(giftTrs[i]); } 那么这时候只会删除第一行,因为当删除了一个之后,行的位置会向前移动一位。 giftTrs.le

    javascript移出节点removeChild()使用介绍.docx

    ### JavaScript 移除节点 `removeChild()` 方法使用详细介绍 #### 一、`removeChild()` 方法简介 在Web开发中,经常需要对DOM树进行各种操作,包括添加、修改和删除节点。JavaScript提供了一系列方法来帮助开发者...

    js removeChild 方法深入理解

    标题中的知识点为“js removeChild 方法深入理解”,这说明我们需要详细了解JavaScript语言中removeChild方法的作用、使用场景以及其背后的原理。在给定的文件内容中,描述部分向我们预告了文章的内容安排,包括...

    javascript移出节点removeChild()使用介绍

    removeChild(a)是用来删除文档中的已有元素 参数a:要移出的节点 代码如下: ”guoDiv”&gt; &lt;span&gt;1&lt;/span&gt; &lt;span&gt;2&lt;/span&gt; &lt;span&gt;3&lt;/span&gt; &lt;/div&gt; var oDiv = document.getElementById(“guoDiv”); var firsChild = ...

    JavaScript的removeChild()函数用法详解

    在使用removeChild()之前,需要先获取父节点和要删除的子节点。父节点是一个DOM元素,我们可以通过各种方法获取它,如使用document.getElementById()、document.querySelector()等。获取到父节点之后,我们可以使用...

    js使用removeChild方法动态删除div元素

    在JavaScript中,`removeChild`方法是用于动态删除DOM元素的关键功能之一,尤其在处理动态内容更新和交互的场景中,如用户查找功能。在这个场景中,我们需要在用户输入搜索条件后,根据Ajax异步请求返回的数据,实时...

    javascript删除元素节点removeChild()用法实例

    本文将详细介绍如何使用JavaScript中的`removeChild()`方法删除DOM元素节点,并通过实例说明其使用技巧。 首先,`removeChild()`方法是用于从其父节点中删除一个子节点。它的语法如下: ```javascript ...

    javascript removeChild 导致的内存泄漏

    这通常发生在使用removeChild方法移除DOM节点时。在IE浏览器中,如果直接从DOM中移除一个元素,但JavaScript中仍保留有对该元素的引用,那么该元素所占用的内存就无法被浏览器的垃圾回收机制回收,从而造成内存泄漏...

    js removeChild 障眼法 可能出现的错误

    然而,不恰当的使用`removeChild()`可能会导致一些错误或意想不到的结果,就像在描述中提到的“障眼法”。这里我们将详细讨论这种错误以及如何正确地使用`removeChild()`。 首先,让我们分析错误的代码段: ```...

    DOM节点删除函数removeChild()用法实例

    同时,`removeChild()`函数也可以和其他DOM操作方法结合使用,如`appendChild()`、`insertBefore()`等,构建出更复杂的动态DOM操作逻辑。在进行JavaScript编程时,熟练掌握这些基本的DOM操作是至关重要的。

    JavaScript中removeChild 方法开发示例代码

    1. 概述 删除后的节点虽然不在文档树中了,但其实它还在内存中,可以随时再次被添加到别的位置。 当你遍历一个父节点的子节点并进行...var removed = parent.removeChild(self); removed === self; // true 2. exa

    Javascript removeChild()删除节点及删除子节点的方法

    在JavaScript中,删除节点的操作主要依赖于`removeChild()`方法。这个方法定义在父节点对象上,其作用是从DOM树中移除一个指定的子节点。`removeChild()`方法需要一个参数,即需要被删除的子节点对象。通过调用父...

    html5中JavaScript removeChild 删除所有节点

    值得一提的是,在实际开发中,除了使用removeChild方法外,还有更简便的方法来清空一个节点内的所有内容,如示例中提到的`document.getElementById("content").innerHTML=""`。这种方法直接清空了指定元素的HTML内容...

Global site tag (gtag.js) - Google Analytics