JS HTMLCollection NodeList

HTMLCollection NodeList 经常见到但还没有深入了解和list collectiion的区别。 再JS内Array有什么区别。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div>
        <p></p>
        <p></p>
        <p></p>
    </div>
    <script>
    var p1=document.getElementsByTagName("p");
   console.log(p1);

    </script>
</body>
</html>

测试后发现系列getElements都返回HTMLCollection 对象 。再Google浏览器发现
没有Array的一系列方法 valueOf(), pop(), push(), join() 。
在这里插入图片描述
HTMLCollection有length属性,namedItem() 方法接受一个字符串参数返回id对应的对象,item(index) 方法同样返回对应索引 的对象。

接下来看看NodeList,

常用的 获取Node List对象的方法是

 var p2=document.querySelectorAll("p")
 console.log(p2);

在这里插入图片描述
通过比较 发现NodeList同样有 固定的length属性,item() 方法。
但多了 entries 可返回一个iterator ,用来遍历。注意遍历会返回 n个数组,每个数组内装的key value,并不是直接返回键值对!
forEach() 一样是遍历,同 Array。
keys values就不说了。

var childNew = Array.prototype.slice.call(childN);

slice()可以把NodeList 变成Array

最后再说一点。NodeList 比HTMLCollection要 更新,会包含text node(字符节点)和comment(注释),并且值得注意的是NodeList 中 通过querySelectorAll() 返回的对象是静态集合,HTMLCollection返回的对象全部是动态的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值