关于如何给for循环遍历出来的每一项注册事件并且在注册的事件里面打印出对应的下标

178 阅读1分钟

例如:

有六个li标签,我要获取六个li标签并且给每一个li标签注册点击事件,在点击事件里面打印当前li的下标

        方法一:
  var $lis = $('li')
  for(var i = 0;i<$lis.length;i++){
      (function(num){
          $($lis[num]).on('click',function(){
              console.log(num)
          })
      })(i)
  }
  此方法利用函数自调用,将每次遍历得到的i当作参数传入,实现获取当前下标

  方法二:
  var $lis = $('li')
  for(var i = 0;i<$lis.length;i++){
      $lis[i].index = i
      $($lis[i]).on('click',function(){
          console.log(this.index)
      })
  }

此方法直接每次获取到的i直接添加到当前li的index属性中,方便后面直接拿到