答案里面for循环 aLi[i].index = i;是什么梗?
这里aLi[i]是对象。aLi[i].index=i是给这个对象添加一个自定义属性index并且属性值为i,index就是索引的意思。当然这个属性名你可以自取。这里给它自定义这个属性是希望在后面通过这个属性找到并利用这个对象
想问一下这里为什么不用this
12行为什么要清空激活样式?
66666666666
window.onload = function(){ var oUl = document.getElementById("ul1"); var aLi = oUl.getElementsByTagName("li"); var oDiv = document.getElementById('tab-list'); var aDiv = oDiv.getElementsByTagName('div'); //对头部进行循环 for(var i=0; i<aLi.length; i++){ //给每一个导航添加一下索引 aLi[i].index=i; //给每一个导航添加鼠标经过事件 aLi[i].onmouseover=function(){ //循环所有的导航并且清空激活样式 for(var i=0; i<aLi.length; i++){ aLi[i].className=''; } //给鼠标所在的导航添加激活样式 this.className='active'; //循环所有的内容区域 并添加上bd的className 其实这一部的真正目的是为了去掉内容区域上的 on 样式,也就是让所有的div隐藏 for(var j=0; j<aDiv.length; j++){ aDiv[j].className = 'bd'; } //把导航对应的索引位置的 div 显示出来,这里也就是添加index的作用,通过这个索引来找到对应的div 这里的 this 就是指上面鼠标所在的导航 aDiv[this.index].className = "bd on"; } } }