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)
只需将此添加到您的代码顶部, 所有浏览器都支持提供的代码
if (window.NodeList && !NodeList.prototype.forEach) {
NodeList.prototype.forEach = Array.prototype.forEach;
}
Run Code Online (Sandbox Code Playgroud)
此代码将解决IE 11中的问题。
Array.prototype.slice.call(elements).forEach( function(element) {
element.addEventListener('mouseover', hideImg);
});
Run Code Online (Sandbox Code Playgroud)