Javascript forEach()方法引发错误
我有一个forEach方法来循环一些div并返回所述div。当我使用下面的代码时,它抛出一个错误,并表示forEach不是一个函数 当我控制台记录myDiv时,它确实返回值,因此我知道var myDiv正在工作并返回类似数组的对象,但是forEach方法抛出了错误 JAVASCRIPTJavascript forEach()方法引发错误,javascript,foreach,Javascript,Foreach,我有一个forEach方法来循环一些div并返回所述div。当我使用下面的代码时,它抛出一个错误,并表示forEach不是一个函数 当我控制台记录myDiv时,它确实返回值,因此我知道var myDiv正在工作并返回类似数组的对象,但是forEach方法抛出了错误 JAVASCRIPT var mydiv = document.getElementsByTagName('div'); mydiv.forEach(function(item, index) { console.log(item
var mydiv = document.getElementsByTagName('div');
mydiv.forEach(function(item, index) {
console.log(item, index);
});
CSS
HTML
尝试
HTML5
的选择器APIquerySelectorAll()
而不是getElementsByTagName()
document.querySelectorAll('div')代码>
var mydiv=document.queryselectoral('div');
mydiv.forEach(函数(项、索引){
控制台日志(项目、索引);
});代码>
尝试HTML5
的选择器APIquerySelectorAll()
而不是getElementsByTagName()
document.querySelectorAll('div')代码>
var mydiv=document.queryselectoral('div');
mydiv.forEach(函数(项、索引){
控制台日志(项目、索引);
});代码>
forEach
仅适用于数组,而不适用于类似数组的对象。.getElementsByTagName()
不返回数组。有些浏览器在NodeList对象上实现了数组原型函数,但不是全部。forEach
仅适用于数组,而不适用于类似数组的对象。.getElementsByTagName()
不返回数组。有些浏览器在节点列表对象上实现了数组原型函数,但不是所有的。这不会有帮助。该API还返回一个节点列表。@Pointy,请检查我的答案,因为我认为它与querySelectorAll
@Pointy一起工作正常,但确实有一个名为forEach
的函数。在一些旧浏览器中不受支持,请注意,querySelectorAll
仍然比getElementsByTagName
@ibrahimmahrir慢很多,根据MDN,任何IE版本都不支持它(但在较新的Edge中支持)。这不会有帮助。该API还返回一个节点列表。@Pointy,请检查我的答案,因为我认为它与querySelectorAll
@Pointy一起工作正常,但确实有一个名为forEach
的函数。在一些旧浏览器中不受支持,请注意,querySelectorAll
仍然比getElementsByTagName
@ibrahimmahrir慢得多,根据MDN,它在任何IE版本中都不受支持(但在较新的Edge中)。
body {display: flex;}
.box {width: 100px; height: 100px; background: red; margin: 0 10px;}
<div></div>
<div></div>