原生js中el.children获取到的是HTMLCollection不能使用数组方法
# 原因
笔记
HTMLCollection 与 NodeList 的区别:
- HTMLCollection 与 NodeList 的区别 HTMLCollection 是 HTML 元素的集合
- NodeList 是一个文档节点的集合
- NodeList 与 HTMLCollection 有很多类似的地方
- NodeList 与 HTMLCollection 都与数组对象有点类似,可以使用索引 (0, 1, 2, 3, 4, …)来获取元素
- NodeList 与 HTMLCollection 都有 length 属性
- HTMLCollection 元素可以通过 name,id 或索引来获取
- NodeList 只能通过索引来获取
- 只有 NodeList 对象有包含属性节点和文本节点
# 解决方法
//可以使用Array.from()进行转换(或解构赋值)
const elList=el.children
Array.from(elList).push('a')
1
2
3
2
3
编辑 (opens new window)
上次更新: 2023/03/08, 02:53:55