2017-02-15 61 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