HTMLCollection 和 NodeList 区别

文章讲述了在DOM中,Node是所有节点的基础,而Element是具体HTML元素的基类。HTMLCollection是Element对象的集合,例如p1元素的children属性返回此类对象。相反,NodeList是Node对象的集合,如p1的childNodes属性返回NodeList,包含了元素的所有子节点,包括文本节点和注释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Node 和 Element

  • DOM 是一棵树,所有节点都是 Node
  • Node 是 Element 的基类
  • Element 是其他 HTML 元素的基类,如 HTMLDivElement

在这里插入图片描述

HTMLCollection 和 NodeList

  • HTMLCollection 是 Element 的集合
  • NodeList 是 Node 的集合
<body>
  <p id="p1"><b>node</b>vs<em>element</em><!--这是注释--></p>
</body>
<script>
  const p1 = document.getElementById('p1')
  console.log(p1.children) // HTMLCollection(2) [b, em]
  console.log(p1.childNodes) // NodeList(4) [b, text, em, comment]
</script>

注意

  • 获取 Node 和 Element 的返回结果可能不一样
  • 如 elem.childNodes 和 elem.children 不一样
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大杯美式不加糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值