關于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代替
2016-09-04
你可以先試試,會發現 i 的值為len,這是因為閉包函數中無法正常獲取當前 li 索引,為了獲取索引,需要為每個 li?定義一個index屬性對其編號