IE ForEach在IE11中循环

Ste*_*ker 12 javascript foreach internet-explorer loops internet-explorer-11

我在IE11中获取JS循环以处理页面上的4个元素时遇到问题.我希望函数hideImg在鼠标悬停上运行在您悬停的元素上.

这是我的代码:

elements.forEach( function(element) {
    element.addEventListener('mouseover', hideImg);
});
Run Code Online (Sandbox Code Playgroud)

我想我发现forEachIE中不支持循环,我怎样才能for在普通JS中轻松将其转换为循环?

亲切的问候,
史蒂夫

Nem*_*ani 15

只需按照基本编程

var elements = document.getElementsByClassName("test");
for (var i = 0; i < elements.length; i++) {
  elements[i].addEventListener('mouseover', hideImg);
}

function hideImg() {
  console.log("hideImg called")
}
Run Code Online (Sandbox Code Playgroud)
.test {
  width: 40px;
  height: 20px;
  border: green solid 1px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢这在 IE 中很好用。为什么你认为我的问题被否决了?我是 JS 的初学者。 (2认同)
  • 这是一个简单的问题,你应该在你的基础上进行探索,如果你是初学者,你应该先了解条件语句,循环,函数和对象等基础知识.MDN是开始使用https://developer.mozilla.org/bm/docs/Web/JavaScript的好资源 (2认同)

Vin*_*nce 8

只需将此添加到您的代码顶部, 所有浏览器都支持提供的代码

if (window.NodeList && !NodeList.prototype.forEach) {
    NodeList.prototype.forEach = Array.prototype.forEach;
  }
Run Code Online (Sandbox Code Playgroud)


Sha*_*hal 6

此代码将解决IE 11中的问题。

Array.prototype.slice.call(elements).forEach( function(element) {
    element.addEventListener('mouseover', hideImg);
});
Run Code Online (Sandbox Code Playgroud)