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條經驗 獲得超188個贊
?li[i].index?=?i;
和為什么要寫這句一樣的原因,
onclick事件觸發時循環已經執行完畢,此時全局變量 i = li.length
也就是說如果你把 this.className = "on" 里的this換成了 li[i] 的話,就相當于換成了 li[li.length]
- 1 回答
- 0 關注
- 1086 瀏覽
添加回答
舉報
0/150
提交
取消