现在要删除一个父节点下的所有子。
删除节点的操作其实类似于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()` 方法使用详细介绍 #### 一、`removeChild()` 方法简介 在Web开发中,经常需要对DOM树进行各种操作,包括添加、修改和删除节点。JavaScript提供了一系列方法来帮助开发者...
标题中的知识点为“js removeChild 方法深入理解”,这说明我们需要详细了解JavaScript语言中removeChild方法的作用、使用场景以及其背后的原理。在给定的文件内容中,描述部分向我们预告了文章的内容安排,包括...
removeChild(a)是用来删除文档中的已有元素 参数a:要移出的节点 代码如下: ”guoDiv”> <span>1</span> <span>2</span> <span>3</span> </div> var oDiv = document.getElementById(“guoDiv”); var firsChild = ...
在使用removeChild()之前,需要先获取父节点和要删除的子节点。父节点是一个DOM元素,我们可以通过各种方法获取它,如使用document.getElementById()、document.querySelector()等。获取到父节点之后,我们可以使用...
在JavaScript中,`removeChild`方法是用于动态删除DOM元素的关键功能之一,尤其在处理动态内容更新和交互的场景中,如用户查找功能。在这个场景中,我们需要在用户输入搜索条件后,根据Ajax异步请求返回的数据,实时...
本文将详细介绍如何使用JavaScript中的`removeChild()`方法删除DOM元素节点,并通过实例说明其使用技巧。 首先,`removeChild()`方法是用于从其父节点中删除一个子节点。它的语法如下: ```javascript ...
这通常发生在使用removeChild方法移除DOM节点时。在IE浏览器中,如果直接从DOM中移除一个元素,但JavaScript中仍保留有对该元素的引用,那么该元素所占用的内存就无法被浏览器的垃圾回收机制回收,从而造成内存泄漏...
然而,不恰当的使用`removeChild()`可能会导致一些错误或意想不到的结果,就像在描述中提到的“障眼法”。这里我们将详细讨论这种错误以及如何正确地使用`removeChild()`。 首先,让我们分析错误的代码段: ```...
同时,`removeChild()`函数也可以和其他DOM操作方法结合使用,如`appendChild()`、`insertBefore()`等,构建出更复杂的动态DOM操作逻辑。在进行JavaScript编程时,熟练掌握这些基本的DOM操作是至关重要的。
1. 概述 删除后的节点虽然不在文档树中了,但其实它还在内存中,可以随时再次被添加到别的位置。 当你遍历一个父节点的子节点并进行...var removed = parent.removeChild(self); removed === self; // true 2. exa
在JavaScript中,删除节点的操作主要依赖于`removeChild()`方法。这个方法定义在父节点对象上,其作用是从DOM树中移除一个指定的子节点。`removeChild()`方法需要一个参数,即需要被删除的子节点对象。通过调用父...
值得一提的是,在实际开发中,除了使用removeChild方法外,还有更简便的方法来清空一个节点内的所有内容,如示例中提到的`document.getElementById("content").innerHTML=""`。这种方法直接清空了指定元素的HTML内容...