我试图在鼠标悬停时获取元素的索引号。
我可以使用 jQuery 轻松完成此操作,但 native javascript 是防弹的/:
var ele = document.getElementsByClassName('sample')[0];
for(i=0; i<ele.children.length;i++){
ele.children[i].onmouseover = function() {
this.style.background='red';
alert(i);//can't get the value
}
}
<ul class="sample">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
最佳答案
使用立即函数来修复当前迭代的 i 值:
for(i=0; i<ele.children.length;i++){
(function(i) {
ele.children[i].onmouseover = function() {
this.style.background='red';
alert(i);
}
}(i));
}
这是更新的fiddle .
关于javascript - 如何在鼠标悬停时获取元素的索引值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14448259/