Javascript 在IE11中,当我对元素数组中的每个元素使用时,迭代器给出了错误?

Javascript 在IE11中,当我对元素数组中的每个元素使用时,迭代器给出了错误?,javascript,jquery,reactjs,internet-explorer-11,Javascript,Jquery,Reactjs,Internet Explorer 11,我试图循环一个按钮数组,并在运行时创建react组件按钮,错误仅在IE11中重现,我在符号中得到错误。迭代器,这意味着我传递的数组无效,无法返回内部迭代器,但这在任何其他浏览器中都可以正常工作,IE是否有问题,或者我正在使用jQuery选择器获取按钮数组 export default function(buttons){ for(let button of buttons){ //Code for creating button as react component but

我试图循环一个按钮数组,并在运行时创建react组件按钮,错误仅在IE11中重现,我在符号中得到错误。迭代器,这意味着我传递的数组无效,无法返回内部迭代器,但这在任何其他浏览器中都可以正常工作,IE是否有问题,或者我正在使用jQuery选择器获取按钮数组

export default function(buttons){

   for(let button of buttons){
       //Code for creating button as react component button.
   }
}

//call to replaceButtons


var btns = $('.continue-buttons');
replaceButtons(btns);
出错


我知道这不是编写react代码的最佳方式,但需求和设计是一个相当大的挑战。

jQuery不返回数组,而是返回jQuery集合。这真的不合适。从v1.12/v2.2开始


但是,无论如何。

要测试问题是否是由jQuery对象引起的,请根据结果生成一个适当的数组<代码>var btns=[].slice.call($('.continue按钮')您缺少
按钮
var
/
let
/
const
声明。很抱歉,我在共享示例代码时遗漏了它。我改为querySelectorAll,它工作正常,但为什么它适用于其他浏览器而不适用于IE11。是的,您是正确的,但我对chrome的原因表示怀疑,mozilla和edge能够返回默认迭代器而不是IE11?没有“默认迭代器”。我怀疑/不理解它在其他浏览器中是如何工作的。你在IE中得到的错误信息是什么?另外,您使用的是哪个jQuery版本?jQuery版本3.1.1和Symbol.iterator指定了对象的默认迭代器,因为没有“对象的默认迭代器”,但是jQuery使用的是
Array.prototype.values
[[Symbol.iterator]
)它的IE11,它不识别迭代器的jQuery集合,谢谢