html代码:
<div class="main">
<div class="content">
<ul id="project" class="project">
<li id="hb" style="cursor: pointer;"class="select">古桥保护
<img src="/static/images/list_arrow.png" class="right-arrow"></li>
<li id="civicism" style="cursor: pointer;"></li>
<li id="traffic" style="cursor: pointer;"></li>
<li id="hydraulic" style="cursor: pointer;"></li>
<li id="pc" style="cursor: pointer;">
</li>
</ul>
<div id="hb-container" class="li-content" style="display: block;">
<h2>古廊桥保护存在的主要问题</h2>
<div class="pc-middle">
<p class="subheading">
1、现代交通、社会经济发展
</p>
<p class="subheading" style="margin-top: 24px;">
2、廊桥保护资金严重匮乏
</p>
<p class="subheading" style="margin-top: 24px;">
3、缺乏有效的保护机制和科学保护规划
</p>
</div>
</div>
js代码
$(function () {
$('#project li').click(function(){
$(this).siblings('li').removeClass('select').children('img').remove();
$(this).addClass('select');
var id = $(this).attr('id');
if($(this).hasClass('select')){
$('#' + id + '-' + 'container').show();
$('#' + id + '-' + 'container').siblings('div').hide();
}
if($(this).find('img').length === 0){
$(this).append('<img src="../../static/images/list_arrow.png" class="right-arrow">');
}
});
获取project li元素的click事件 移除所有的select 和img属性 再给这个li添加select 属性
获取当前li元素的id ,如果当前元素存在select属性 则显示当前container 隐藏别的属性
siblings 查找当前元素的所有类名为 “li” 的所有同胞元素: