LINUX内核编译升级指南
2013-02-04 16:06
316 查看
有这么一段代码:
<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])
}
<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])
}
相关文章推荐
- Linux下升级内核到3.18以上后编译VMware的问题
- Linux 2.6.X内核编译指南
- 升级Linux内核导致vmware无法使用(vmnet模块无法编译)解决方案
- centos linux 内核升级,内核编译步骤
- Linux重新编译内核指南
- Linux内核升级及内核编译
- ubuntu12.04 编译升级内核 linux-3.15
- Linux 2.6内核编译,内核升级
- 嵌入式Linux编译系统的设计——Bootloader, 内核,驱动,文件系统,升级镜像等自动化编译打包
- linux编译升级内核步骤
- 升级Linux内核导致vmware无法使用(vmnet模块无法编译)解决方案
- [亲测] 升级Linux内核导致vmware无法使用(vmnet模块无法编译)解决方案
- CentOS 5.6下将linux内核2.6.18升级到2.6.30,并编译动态加载linux下第一个模块
- linux内核编译+打补丁+内核升级
- Linux内核升级指南
- 树莓派linux内核编译与固件升级
- 编译制作Linux 3.18内核rpm包(升级centos6.x虚拟机内核)
- 编译升级linux由2.4.20-8到2.6.10内核时,遇到的错误,以及解决方法
- Linux编译升级内核
- linux 编译内核操作流程 ──为新手指南