问答详情
源自:1-4 js实现切换效果

关于这条语句divs[this.id].style.display="block";大家怎么理解?

<script type="text/javascript" >
	function getE(id){
	return document.getElementById(id);
	}
	window.onload=function(){

		var titles=getE("box_nav").getElementsByTagName("li");
		var divs=getE("box_cont").getElementsByTagName("div");
		if(titles.length!=divs.length){
			return;
		}
		//遍历box_nav下所有的li
		for (var i = 0; i < titles.length; i++) {
			titles[i].id=i;
			titles[i].onmouseover=function(){
				for (var j = 0; j < titles.length; j++) {
					//清除li上所有的样式
					titles[j].className="";
					//当鼠标移到相应的li时,把与其不对应的div内容块隐藏	
					divs[j].style.display="none";
				};
				//设置鼠标移到当前li上的样式
				this.className="select";
				//设置鼠标移到当前li时,找到相对应的div的内容
				divs[this.id].style.display="block";
			}
		};
	}	
</script>

写成divs[i].style.display="block";为啥不行?不可以直接调用divs的下标么?

提问者:小李子同學 2015-04-09 11:08

个回答

  • 丿丫丫
    2015-04-09 12:19:37

    上面不是有给titles加上一个叫id的属性吗。。所以。titles【i】.id就代表i

    在下面this属于谁。this就是谁。在这里就是titles

  • 小李子同學
    2015-04-09 11:09:08

    感觉对这个this不是很理解。。。