Javascript-forEach()循环在IE11上不起作用
forEach循环应该在IE11和diplay中工作 对象不支持属性或方法“forEach” 它应该可以工作,因为它是一个ECMAScript-5函数 但是,我这里的代码不起作用: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) {
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
});