Javascript-forEach()循环在IE11上不起作用

Javascript-forEach()循环在IE11上不起作用,javascript,internet-explorer,foreach,internet-explorer-11,ecmascript-5,Javascript,Internet Explorer,Foreach,Internet Explorer 11,Ecmascript 5,forEach循环应该在IE11和diplay中工作 对象不支持属性或方法“forEach” 它应该可以工作,因为它是一个ECMAScript-5函数 但是,我这里的代码不起作用: var alltable = document.querySelectorAll('*[id^="table_"]'); //Select all elements with the id starting by "table_" alltable.forEach(function(element) {

forEach循环应该在IE11和diplay中工作

对象不支持属性或方法“forEach”

它应该可以工作,因为它是一个ECMAScript-5函数

但是,我这里的代码不起作用:

var alltable = document.querySelectorAll('*[id^="table_"]'); //Select all elements with the id starting by "table_"
    alltable.forEach(function(element) {
                // Do some code
                });
知道为什么吗?

我自己

forEach()实际上正在处理IE11,只是要注意如何调用它

querySelectorAll()是一个返回节点列表的方法。 在Internet Explorer上,foreach()仅适用于数组对象。(它与带有ES6的节点列表一起工作

为了解决这个问题,有些人建议使用polyfill,这可能非常有效,但您也可以使用slice.call()方法将节点列表转换为数组:

或:

总而言之: 确保在数组对象而不是节点列表上使用它。

希望能帮助到别人。

好吧,我自己

forEach()实际上正在处理IE11,只是要注意如何调用它

querySelectorAll()是一个返回节点列表的方法。 在Internet Explorer上,foreach()仅适用于数组对象。(它与ES6中的节点列表一起使用。)

为了解决这个问题,有些人建议使用polyfill,这可能非常有效,但您也可以使用slice.call()方法将节点列表转换为数组:

或:

总而言之: 确保在数组对象而不是节点列表上使用它。


希望能对某人有所帮助。

标题有点误导…可能是重复的好吧,你怎么称呼它?这是我的问题,我只是想帮助其他遇到同样问题的人…标题有点误导…可能是重复的好吧,你怎么称呼它?这是我的问题,我只是想帮助其他遇到同样问题的人同样的。。。
var alltable = document.querySelectorAll('*[id^="table_"]'); //Select all elements with the id starting by "table_"
var alltableArray= Array.prototype.slice.call(alltable);
    alltableArray.forEach(function(element) {
                // Do some code
                });
var alltable = Array.prototype.slice.call(document.querySelectorAll('*[id^="table_"]')); //Select all elements with the id starting by "table_"
    alltable.forEach(function(element) {
                // Do some code
                });