为了账号安全,请及时绑定邮箱和手机立即绑定

关于JS中数组index的问题

             for(var i= 0,len = oLis.length;i<len;i++){
                 oLis[i].index = i;
                 oLis[i].onclick = function() {
                     for(var n= 0;n<len;n++){
                         oLis[n].className = "";
                         oDivs[n].className = "hide";
                     }
                     this.className = "on";
                     oDivs[this.index].className = "";
                 }
             };
         }

oLis[i].index = i; 这里的index属性不是原本就是i吗?

this.index为什么不可以用i代替

正在回答

1 回答

你可以先试试,会发现 i 的值为len,这是因为闭包函数中无法正常获取当前 li 索引,为了获取索引,需要为每个 li 定义一个index属性对其编号

2 回复 有任何疑惑可以回复我~
#1

SilenceDean 提问者

非常感谢!
2016-09-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468188    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

关于JS中数组index的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信