2017-02-15 115 views
0

我有以下的javascript函数“registerHandlers”的问题。当我试图连接连的onclick,它总是显示“3”。这里它是如何工作的;的Javascript的onclick附件索引问题

警报应显示以下链接文档中的锚的从零开始的索引,而不是。

例如,在下面的文档中,警报应当点击谷歌锚,因为它是第三锚固元件在文档中和它的基于零的索引是2

这里脚本显示“2”并且测试页中JSFiddle

function registerHandlers() { 
    var as = document.getElementsByTagName('a'); 
    for (var i = 0; i < as.length; i++) { 
    as[i].onclick = function() { 
     alert(i); 
     return false; 
    } 
    } 
} 
+0

,因为当您单击循环索引已经被更新它应该始终显示3。 – Aslam

回答

1

这应该工作:)

function registerHandlers() { 
    var as = document.getElementsByTagName('a'); 
    var j = 1; 
    for (var i = 0; i < as.length; i++) { 
    as[i].onclick = function() { 
     alert(j); 
     j++; 
    } 
    } 
} 
+1

这个呢。谢谢hunzaboy!虽然零基础,J应该为0 – user2751316

+0

好初始化你可以使用你想要基地无论:) – Aslam