<分区>
根据其 w3schools page (每个人最喜欢的资源,我知道),.children
属性返回
A live HTMLCollection object, representing a collection of element nodes
这个对象可以像这样的数组一样循环:
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。提前致谢。