`
pavel
  • 浏览: 914752 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

removeChild的障眼法js 数组 动态更新非静态列表

阅读更多

有这么一段代码:


<ul id="demo">
<li>a</li>
<li>b</li>
<li>c</li>
</ul>


 JavaScript:


var ul = document.getElementById('demo');
var liList = ul.getElementsByTagName('li');
for (var i = 0; i < = liList.length; i++) {
  ul.removeChild(liList[i]);
}


 运行代码后 ,发现只剩下 节点b  了。

var ul = document.getElementById('demo');
var liList = ul.getElementsByTagName('li');
for (var i = 0; i <  liList.length; i++) {
 ul.removeChild(liList[0]);
}
运行上面代码后,发现只剩下 节点c 了。

最后把length 提取出来, 先定义,缓存起来。

 

var ul = document.getElementById('demo');
var liList = ul.getElementsByTagName('li');
var lilength =  liList.length;
for (var i = 0; i < lilength; i++) {
    ul.removeChild(liList[0]);
}


运行代码,才真正3个li都被删除。

通过这3个例子的对比,相信你已经发现其中的问题。

当然例子没什么实际意义,但可以看出removeChild 删除元素后,对html的即时影响。

做项目使用时,需要注意下。

或者可以用以下代码实现:


var ul = document.getElementById('demo');
while (ul.lastChild){
   ul.removeChild(ul.lastChild);
}

看这种方式是不是更好


while(liList.length){
  ul.removeChild(liList[liList.length-1])
}

分享到:
评论

相关推荐

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

    js removeChild 障眼法之可能出现的错误,大家看下代码就知道了。

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

    所以考虑到用js来搞。 这个for循环就是移除已有的表单。然后根据Ajax请求过来的数据,动态生成新的表单对象。一定要注意j变量从大往小循环,否则,删除div元素后会引起serchResultLenth=serchResult.children.length...

    js removeChild 方法深入理解

    下面小编就为大家带来一篇js removeChild 方法深入理解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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

    JavaScript的removeChild()函数用法详解

    removechild 函数可以删除父元素的指定子元素,通过本文给大家介绍javascript的removeChild()函数用法,对js removechild函数相关知识感兴趣的朋友一起学习吧

    JavaScript实现动态添加、移除元素或属性的方法分析

    本文实例讲述了JavaScript实现动态添加、移除元素或属性的方法。分享给大家供大家参考,具体如下: JavaScript 动态添加、移除元素 appendChild(newnode) 向节点的子节点列表的末尾添加新的子节点。 insertBefore...

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

    本文实例讲述了javascript删除元素节点removeChild()用法。分享给大家供大家参考。具体分析如下: 操作DOM节点的方法: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 使用注意事项

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

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

    主要介绍了DOM节点删除函数removeChild()用法,实例分析了removeChild()函数实现结点删除的技巧,需要的朋友可以参考下

    JavaScript中removeChild 方法开发示例代码

    当你遍历一个父节点的子节点并进行删除操作时,要注意,children属性是一个只读属性,并且它在子节点变化时会实时更新 // 拿到待删除节点: var self = document.getElementById('to-be-removed'); // 拿到父节点: ...

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

    下面给大家介绍Javascript removeChild()删除节点的方法,具体详情如下所示: 在Javascript中,只提供了一种删除节点的方法:removeChild()。 removeChild() 方法用来删除父节点的一个子节点。 语法:  parent....

    javascript removeChild 导致的内存泄漏

    最近看到司徒正美的一篇文章《移除DOM节点》,文中说到在IE中移除容器类节点,会引起内存泄露。

Global site tag (gtag.js) - Google Analytics