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

this的问题

this的问题

航包包 2016-11-01 23:25:45
for(var i=0; i<li.length; i++){             li[i].index = i;               li[i].onclick = function(){             for(var n=0;n<li.length;n++){                 li[n].className = "";                 div[n].className = "hide";             }             this.className = "on";             div[this.index].className = "";             } } this.className = "on"; 中的this是不是指“li[i]”呢?为啥用不了“li[i]”代替?
查看完整描述

1 回答

?
千秋此意

TA贡献158条经验 获得超187个赞

 li[i].index = i;

和为什么要写这句一样的原因,

onclick事件触发时循环已经执行完毕,此时全局变量 i = li.length

也就是说如果你把 this.className = "on" 里的this换成了 li[i] 的话,就相当于换成了 li[li.length]

查看完整回答
1 反对 回复 2016-11-02
  • 1 回答
  • 0 关注
  • 1052 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信