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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。