代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.item .header{
height: 35px;
background-color: #2459a2;
color: white;
line-height: 35px;
}
.hide{
display: none;
}
</style>
</head>
<body>
<div>
<div class="item">
<div id="i1" class="header" onclick="ChangeMenu('i1')">菜单一</div>
<div class="content hide ">
<div>内容一</div>
<div>内容一</div>
<div>内容一</div>
</div>
</div>
<div class="item">
<div id="i2" class="header" onclick="ChangeMenu('i2')">菜单二</div>
<div class="content hide">
<div>内容二</div>
<div>内容二</div>
<div>内容二</div>
</div>
</div>
<div class="item">
<div id="i3" class="header" onclick="ChangeMenu('i3')">菜单三</div>
<div class="content hide ">
<div>内容三</div>
<div>内容三</div>
<div>内容三</div>
</div>
</div>
</div>
<script>
function ChangeMenu(nid) {
<!-- 获取当前鼠标点击的id -->
var current_header= document.getElementById(nid)
<!-- 从当前节点,获取父节点信息,然后获取该父节点获取所有子节点,即div里的item标签 -->
var item_list = current_header.parentElement.parentElement.children;
<!-- 循环所有节点,并把该节点下的第一个子节点添加hide属性 -->
for(var i=0;i<item_list.length;i++){
var current_itme = item_list[i];
current_itme.children[1].classList.add('hide');
}
<!-- 将鼠标点击的当前节点下的内容,删除hide属性 -->
current_header.nextElementSibling.classList.remove('hide')
}
</script>
</body>
</html>
展示