代码实现--利用事件冒泡不多次获取dom元素
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>实践题 - 选项卡</title>
<style type="text/css">
/* CSS样式制作 */
ul {
list-style:none;
margin:0;
padding:0;
overflow:hidden;
}
ul>li {
position:relative;
float:left;
width:90px;
height:42px;
line-height:40px;
margin:0 5px;
border:1px solid grey;
border-bottom:none;
text-align:center;
z-index:10;
}
ul>li:first-of-type {
border-top:3px solid #996633;
background-color:#fff;
}
.content {
position:absolute;
top:50px;
width:400px;
height: 150px;
line-height: 2em;
padding:5px;
display:none;
border:1px solid darkblue;
border-top:3px solid #996633;
z-index:1;
}
.content:first-of-type {
display:block;
}
</style>
<script type="text/javascript">
// JS实现选项卡切换
window.onload = function() {
var tab = document.getElementsByTagName('ul')[0];
tab.addEventListener('click', function(e) {
if(e.target.nodeName == 'LI') {
for(let item of e.target.parentNode.childNodes) {
if(item.nodeType == 1) {
item.style.backgroundColor = "transparent";
item.style.borderTop = "1px solid grey"
}
}
e.target.style.backgroundColor = "#fff"
e.target.style.borderTop = "3px solid #996633"
}
})
}
</script>
</head>
<body>
<!-- HTML页面布局 -->
<div id="app">
<ul>
<li>房产</li>
<li>家居</li>
<li>二手房</li>
</ul>
<div class="content">
275万购昌平邻铁三居 总价20万买一居<br/>
200万内购五环三居 140万安家东三环<br/>
北京首现零首付楼盘 53万购东5环50平<br/>
京楼盘直降5000 中信府 公园楼王现房
</div>
<div class="content">
40平出租屋大改造 美少女的混搭小窝<br/>
经典清新简欧爱家 90平老房焕发新生<br/>
新中式的酷色温情 66平撞色活泼家居<br/>
瓷砖就像选好老婆 卫生间烟道的设计
</div>
<div class="content">
通州豪华3居260万 二环稀缺2居250w甩<br/>
西3环通透2居290万 130万2居限量抢购<br/>
黄城根小学学区仅260万 121平70万抛!<br/>
独家别墅280万 苏州桥2居优惠价248万<br/>
</div>
</div>
</body>
</html>