Javascript forEach()方法引发错误

Javascript 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

我有一个forEach方法来循环一些div并返回所述div。当我使用下面的代码时,它抛出一个错误,并表示forEach不是一个函数

当我控制台记录myDiv时,它确实返回值,因此我知道var myDiv正在工作并返回类似数组的对象,但是forEach方法抛出了错误

JAVASCRIPT

var mydiv = document.getElementsByTagName('div');

mydiv.forEach(function(item, index) {
 console.log(item, index);
});
CSS

HTML


尝试
HTML5
的选择器API
querySelectorAll()
而不是
getElementsByTagName()

document.querySelectorAll('div')

var mydiv=document.queryselectoral('div');
mydiv.forEach(函数(项、索引){
控制台日志(项目、索引);
});

尝试
HTML5
的选择器API
querySelectorAll()
而不是
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>