js闭包法获取元素下标值

一开始的想法是:

var a = document.getElementsByTagName('a');
for(var i=0;i<a.length;i++){
     a[i].onclick = function(){
  alert(this.innerHTML);
  alert(this.i);
 };
};
结果每次都是i计算的数值;

 

通过问大神后,使用闭包解决:

var a = document.getElementsByTagName('a');
for(var i=0;i<a.length;i++){
  a[i].onclick = function(i){
      return function(e){

            alert(i);

        }

 }(i)
};

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章