querySelectorAll和getElementsByTagName获取元素的区别
1、document.querySelectorAll()
根据选择器获取所有匹配到的元素
返回的是NodeList
,NodeList
不是一个数组,是一个类似数组的对象(Like Array Object)。虽然 NodeList
不是一个数组,但是可以使用 forEach()
来迭代。它有length属性
2、document.getElementsByTagName()
根据标签名获取所有匹配到的元素
返回的是一个HTMLCollection
,HTMLCollection
不是一个数组,是一个类似数组的对象(Like Array Object),它有length
属性,不可以forEach()
来迭代
为什么 NodeList 不是数组?
摘自
MDN
:https://developer.mozilla.org/zh-CN/docs/Web/API/NodeList
<