类数组对象NodeList不太理解

类数组对象NodeList不太理解

类数组对象HTMLCollection

类数组对象NamedNodeMap

到底有什么作用啊,最后只明白有生命的,动态的

正在回答 回答被采纳积分+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"));
}

希望解答你的疑问,祝学习愉快。


  • 提问者 金沙熊飞 #1
    这个地方,我也只能多练习来加深理解啦,有点抽象啦
    2018-03-05 08:39:13
  • 小于飞飞 回复 提问者 金沙熊飞 #2
    多动手实践,如在学习过程有疑问,将具体的问题点,在问答区提问,会帮助解决,祝学习愉快。
    2018-03-05 09:21:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
进击JavaScript核心 2018
  • 参与学习       466    人
  • 提交作业       74    份
  • 解答问题       635    个

JavaScript不仅能实现静态页面到动态特效的转变,还能完成数据的动态交互,但是关于js到底功能有多强大,大家还是有所期待的,本路径将带你深入到js中,一一揭开JavaScript的神秘面纱。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师