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