<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>实践题 - 选项卡</title>
<style type="text/css">
/* CSS样式制作 */
*{padding: 0px;
margin:0px;
font:12px;}
#tabl{
width:300px;
height:150px;
padding:15px;
margin:20px}
#tabl ul{
list-style:none;
display:block;
height:30px;
line-height:30px;
border-bottom:2px solid saddlebrown;}
#tabl ul li{
display:inline-block;
float:left;
width:60px;
height:28px;
line-height:28px;
padding:0px;
margin:0px 3px;
border:1px solid #aaa;
border-bottom:none;
text-align:center;
list-style:none;
cursor:pointer;
}
#tabl ul li.on{
border-top:2px solid saddlebrown;
border-bottom:2px solid #fff;
}
#tabl div{
height:120px;
line-height:25px;
padding:5px;
border:1px solid #ccc;
border-top:none;
}
.hide{display:none}
</style>
<script type="text/javascript">
window.onload = function(){<br>
var otabl = document.getElementById("tabl");
var oli = document.getElementsByTagName("li");
var odiv = otabl.getElementsByTagName("div");
for(var i=0;i<oli.length;i++){
oli[i].index = i;
oli[i].onclick = function() {
for(var n=0;n<oli.length;n++){
oli[n].className="";
odiv[n].className="hide"
}
}
this.className="on";
odiv[this.index].className="";//显示下一个div
}
}
</script>
</head>
<body id="tabl">
<!-- HTML页面布局 -->
<ul>
<li>房产</li>
<li>家居</li>
<li>二手房</li>
</ul>
<div>
275万购昌平邻铁三居 总价20万买一居<br>
200万内购五环三居 140万安家东三环<br>
北京首现零首付楼盘 53万购东5环50平<br>
京楼盘直降5000 中信府 公园楼王现房<br>
</div>
<div>
40平出租屋大改造 美少女的混搭小窝<br>
经典清新简欧爱家 90平老房焕发新生<br>
新中式的酷色温情 66平撞色活泼家居<br>
瓷砖就像选好老婆 卫生间烟道的设计<br>
</div>
<div>
通州豪华3居260万 二环稀缺2居250w甩<br>
西3环通透2居290万 130万2居限量抢购<br>
黄城根小学学区仅260万 121平70万抛!<br>
独家别墅280万 苏州桥2居优惠价248万<br>
</div>
</body>
</html>
this.className="on"; odiv[this.index].className="";//显示下一个div
在我试你的代码的时候,发现是这两句话放的位置不对,应该放在for循环中,如果还不会的话,右侧有源代码下载可以参考