类数组对象NodeList不太理解
类数组对象HTMLCollection
类数组对象NamedNodeMap
到底有什么作用啊,最后只明白有生命的,动态的
13
收起
正在回答 回答被采纳积分+1
1回答
小于飞飞
2018-03-04 18:51:44
1. NodeList是节点的集合,HTMLCollection是元素节点的集合,NamedNodeMap是特性节点的集合,它们都是类数组对象.
2. 动态集合指DOM结构的变化能够自动反映到所保存的对象中,但在使用循环时一定要千万小心。可能会因为忽略集合的动态性,造成死循环
var divs = document.getElementsByTagName("div"); for(var i = 0 ; i < divs.length; i++){ document.body.appendChild(document.createElement("div")); }
在上面代码中,由于divs是一个HTMLElement集合,divs.length会随着appendChild()方法,而一直增加,于是变成一个死循环
为了避免此情况,一般地,可以写为下面形式
var divs = document.getElementsByTagName("div"); for(var i = 0,len = divs.length; i < len; i++){ document.body.appendChild(document.createElement("div")); }
希望解答你的疑问,祝学习愉快。
进击JavaScript核心 2018
- 参与学习 466 人
- 提交作业 74 份
- 解答问题 635 个
JavaScript不仅能实现静态页面到动态特效的转变,还能完成数据的动态交互,但是关于js到底功能有多强大,大家还是有所期待的,本路径将带你深入到js中,一一揭开JavaScript的神秘面纱。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星