javascript - 将循环变量作为元素函数中的参数传递

标签 javascript html

原谅这个标题,不知道该写什么。

我有一些代码,例如:

var links=document.getElementsByTagName('a');
for(var i=0;i<links.length;i++){
    var cur=links[i];
    cur.onmouseover=function(){alert(i);};
}

我记得以前见过类似的东西,但我不知道如何找到它。如果有人问这样的另一个问题,我不会感到惊讶,并且会感谢这个链接。

编辑:问题是它总是在循环结束后提醒“i”是什么。如果有两个链接,则全部警报 2。

编辑:我记得在这里看到过它:http://nathansjslessons.appspot.com/ 。一些很棒的类(class),我建议还没有学过的人都去学一下。

最佳答案

试试这个:

var links=document.getElementsByTagName('a'); 
for(var i=0;i<links.length;i++){     
    var cur=links[i];     
    cur.onmouseover=function(a){
        return function(){
            alert(a);
        }
    }(i); 
} 

关于javascript - 将循环变量作为元素函数中的参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7341035/

相关文章:

javascript - 在不使用 Jquery 的情况下从 Liferay 中的代码更改 portlet 标题

javascript - 多个元素可见和不可见取决于可观察的

javascript - 6.x 错误中尚不支持装饰器

python - 如何将图像存储在变量中

html - CSS 元素规则

javascript - MVC : how to log the value of model's property in the controller's constructor, 假设模型的属性是异步获取的?

javascript - 不调用提交函数

php - 用表单搜索my​​sqli表并显示结果

jquery - 移动到可滚动内容中的元素

javascript - 移动设备上的全高图像