应该怎么理解lis[i].index=i比价好,囧我理解是为了传给 onclick中的divs中的i
window.onload=function(){ var tabs=document.getElementById("tabs"); var divs=tabs.getElementsByTagName("div"); //tabs.get。。。是为了获取id为tabs下的所有标签div的节点 var lis=document.getElementsByTagName("li"); for(var i=0;i<lis.length;i++){ lis[i].index=i; lis[i].onclick=function(){ for(var n=0;n<lis.length;n++){//先给所有的选项的li都取消on,div都隐藏 lis[n].className = ""; divs[n].className = "hide"; }//再给点击的那个选项li设置on,div显示 this.className = "on"; divs[this.index].className = ""; } } }
如果直接用divs[i]的话是浏览器是无法识别的,所以先用lis[i].index=i,把i传递过去,再在divs[this.index]中。不知道我这样理解对不对,有没有更好的解释