javascript - 如何在鼠标悬停时获取元素的索引值?

标签 javascript indexing click this onmouseover

我试图在鼠标悬停时获取元素的索引号。
我可以使用 jQuery 轻松完成此操作,但 native javascript 是防弹的/:

Here is jsFiddle

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/

相关文章:

javascript - "For"JavaScript 中的循环没有做它应该做的事情

javascript - 如何以控制台geojson格式纬度/经度输出?

python - 如果使用 Python 字符串列表中存在某些元素,则获取列表索引的有效方法

Javascript for/in 遍历属性,而不是索引并返回字符串

python - 如何点击网页按钮而不进入网页

javascript - 在基于 Maven 的项目中自动化 JavaScript 测试

javascript - Jquery 操作 Json 字符串

java - 索引服务设计-同步/异步

jquery - 单击两个下拉菜单

Jquery .click() 更胜一筹