js中HTMLCollection 累数组对象(学习理解)

(1)HTMLCollection表示HTML元素的集合,同样拥有length,item(),[].等属性方法。

常见操作返回HTMLCollection

  1. Ele.getElementsByTagName()等
  2. document.scripts //返回所有script标签集合
  3. document.links //返回所有a标签集合
  4. document.images //返回所有img标签集合
  5. document.forms
  6. tr.cells //返回所有td标签集合
  7. select.options //返回所以select全部选项。

(2)类数组对象NamedNodeMap
通过Ele.attributes得到
它获得所以属性的集合!

(3)类数组对象的动态性

  • nodeList、HTMLCollection、NamedNodeMap三个集合,都是动态的、有生命的、有呼吸的对象。
  • 他们实际上是基于Dom结构动态执行查询的结果,因此DOM结构的变化能够自动反映这些对像中。
  • 每当对象结构变化时,他们都回得到跟新,因此,他们始终都会保存着最新,最准确的信息
var divs = document.getElementByTagName('div');
var i = 0;
while(i<divs.length){
    document.body.appendchild(document.createElement('div'));
    i++
    }

这个程序会进入死循环!
原因在于divs.length 是动态跟新的!它不断的在变化。
解决方法
就是把这个变量事先保存起来!

var divs = document.getElementByTagName('div');
var len = divs.length
var i = 0;
while(i<len){
    document.body.appendchild(document.createElement('div'));
    i++
    }

这样程序就可以达到我们的预期了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值