我在HTML中有一些带有类名为node-item
的元素,我在组件中使用以下代码进行访问:
let nodeItems = document.getElementsByClassName('node-item');
当我记录nodeItems
时,它会给我一个长度为4的HTMLCollection[]
。
我尝试了很多方法,但仍然无法迭代nodeItems
:
1- 第一次尝试:
let bar = [].slice.call(nodeItems);
for (var g of bar){
console.log(g); //gives me nothing
}
2- second try:
for(let c of <any>nodeItems) {
console.log(c); //gives me nothing
}
我尝试了数组迭代和对象迭代,但仍然出现 undefined
或 error
的问题。我还尝试了:
let nodeItems = document.querySelector(selectors);
但是问题依旧。
Array.from()
比[].slice.call()
更简洁)。您确定集合包含元素吗?请记住它是一个实时节点列表。请执行console.log(nodeItems.length)
。 - BerginodeItems
,它给了我一个完整的 HTMLCollection,但是当我记录长度时,它给了我0。 - Fateme Fazlifor of
编译成迭代器还是数组索引计数,都应该可以工作。如果根据OPs的评论记录长度为“0”,那么问题就在于在错误的时间使用DOM。您能否重新关闭它? - Bergi