根据其 w3schools 页面(众所周知,是每个人最喜欢的资源),
.children
属性返回一个表示元素节点集合的活动 HTMLCollection 对象。可以像遍历数组一样遍历此对象:
var elements = document.getElementById('test').children;
for (var i=0; i < elements.length; i++) {
console.log(elements[i]);
}
<div id="test">
<p>paragraph 1</p>
<p>paragraph 2</p>
<p>paragraph 3</p>
</div>
但是尝试使用.map
函数会抛出一个错误:
var elements = document.getElementById('test').children;
var x = elements.map((element, index) => {
console.log(element);
});
<div id="test">
<p>paragraph 1</p>
<p>paragraph 2</p>
<p>paragraph 3</p>
</div>
有没有更好的方法获取子 DOM 元素的数组,或者我必须通过循环对象并手动创建数组才能使用类似 .map()
的数组方法?请注意,我不想使用 jQuery。提前致谢。
Array.from(elements)
数组. - Patrick Roberts.map
实现什么目的? - putvande