removeChild的障眼法
来源:cssrain 发布时间:2009-12-04 12:49:00
今天在 经纬 同学blog看到的。
有这么一段代码:
<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的即时影响。
做项目使用时,需要注意下。


猜你喜欢
- 官方文档中关于super的定义说的不是很多,大致意思是返回一个代理对象让你能够调用一些继承过来的方法,查找的机制遵循mro规则,最常用的情况
- 前言:对于遍历大数组而言, for 循环能比 for range 循环更高效与稳定,这一点在数组元素为结构体类型更加明显。我们知道,Go 的
- 内容概要:print() 是一个常用函数。那么,您是否注意过,print() 会在显示当前语句后换行。如果遇到需要连续显示、不换行的情况,比
- 我就废话不多说了,大家还是直接看代码吧!stdi, stdo, stde = sys.stdin, sys.stdout, sys.stde
- 关于作者 王丹丹 , IBM 中国系统与技术中心软件工程师,自从 2006 年加入 IBM,一直从事 Web 系统设计和开发工作,有五年 P
- 听说firefox是史上最好用的浏览器,便下载下来体验一番,将体验感受与大家分享一下,并和我一直使用的the world浏览器做一个对比!首
- 本文是总结的一点经验之谈啥是data-key微信小程序推出 data- 属性——自定义属性,为了更好的进行数据传递。总结来说,data-ke
- 本文介绍了python OpenCV学习笔记直方图反向投影的实现,分享给大家,具体如下:官方文档 – https://docs.opencv
- SMTP模块这么多已定义的类中,我们最常用的的还是smtplib.SMTP类,就具体看看该类的用法:smtp实例封装一个smtp连接,它支持
- 字符编码,在编程中,是一个让学习者比较郁闷的东西,比如一个str,如果都是英文,好说多了。但恰恰不是如此,中文是我们不得不用的。所以,哪怕是
- 本文实例讲述了Python中XlsxWriter模块用法。分享给大家供大家参考,具体如下:XlsxWriter,可以生成excel文件(xl
- 本文实例讲述了Python大数据之使用lxml库解析html网页文件。分享给大家供大家参考,具体如下:lxml是Python的一个html/
- 下拉菜单在实际生活中也挺常见的,它实现的js代码与tab选卡,手风琴几乎一样,在此不过多赘述。我仿照苏宁易购官网写了一个下拉菜单,实现代码如
- 最近各地中小学都在开展线上教学,有些不自觉的小朋友们用电脑在线学习的时候会趁家长不在的时候偷偷玩游戏、看漫画。本程序screenshot.p
- 1 。打开您的Microsoft Visual Basic:点击确定,以下就按照蓝色的数字步骤.2 。修改工程名和类模块的名称:
- 至此,我们的 Python零基础入门篇 的系列专栏到今天基本上算是结束了。今天没有任何的知识点,只是运用我们之前学习过的知识做两个小游戏的案
- 很多开发人员在刚开始学Python 时,都考虑过像 c++ 那样来实现 singleton 模式,但后来会发现 c++ 是 c++,Pyth
- 1.前言对于数据库引擎来说,内存是一个性能提升的重要解决手段。把数据缓存起来,可以避免在查询或更新数据时花费多余的时间,而这时间通常是从磁盘
- 1. Python中的异常栈跟踪之前在做Java的时候,异常对象默认就包含stacktrace相关的信息,通过异常对象的相关方法printS
- 方法一:1、安装Jupyter Notebookpip install jupyter2、在PyCharm中新建Jupyter Notebo