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)
};

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