本文介绍了Symbol.iterator不是函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<div id="par">
<span id="a1"></span>
<span id="a2"></span>
<div id="par2">
<span id="a3"></span>
<span id="a4"></span>
</div>
</div>
<script>
var ele = document.querySelectorAll('#par span');
for( var p of ele ){
console.log(p);
}
</script>
运行此代码时,我看到错误
When i run this code I see error
如何解决此问题?
推荐答案
将NodeList
转换为Array
以使其呈可迭代形式,请使用 Array.from()
进行转换.
Convert NodeList
to Array
for make it in iterable form, use Array.from()
to convert it.
<div id="par">
<span id="a1"></span>
<span id="a2"></span>
<div id="par2">
<span id="a3"></span>
<span id="a4"></span>
</div>
</div>
<script>
var ele = document.querySelectorAll('#par span');
for (var p of Array.from(ele)) {
console.log(p);
}
</script>
有关更多信息,请参考以下问题: HTMLCollection和NodeList可迭代吗?
Refer the following question for more info : Are HTMLCollection and NodeList iterables?
这篇关于Symbol.iterator不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!