1

我正在分配包含链接在页面上的数字的 onclicks。这是我的代码:

var aTags = document.getElementsByTagName("a");

for (var t = 0; t < aTags.length; t++){

    var aTag = aTags[t];

    aTag.onclick = function(){setSubMenu(t);};


}


function setSubMenu(t){

    console.log("t: " + t);
    //The issue is t is always evaluating to the length of aTags
    //instead of the current tag. 

}

我该如何解决这个问题?

4

1 回答 1

3

将其包装在一个自动执行的闭包中:

for (var t = 0; t < aTags.length; t++)(function(t) {

    var aTag = aTags[t];

    aTag.onclick = function() { setSubMenu(t); };

})(t);
于 2012-10-30T13:59:06.030 回答