假如html代码如下
<div class="list"><h1><a class="open">点击展开</a></h1>
<div class="box">
<p>----------</p>
<a class="close">点击关闭</a>
</div>
</div>
jquery代码:
$(function(){$(".open").click(function(){
var i=$(".list .open").index($(this))//获取点击open在页面中open类的序列
if($("#show").length>0)//判断是否存在显示元素id show
{
if($(".list .box:eq("+i+")").attr("id")!="show")//判断当前的box是否已显示
{
$("#show").attr("id","")
}
}
$(".list .box:eq("+i+")").attr("id","show")
})
$(".close").click(function(){
var i=$(".list .close").index($(this))
$(".list .box:eq("+i+")").attr("id","")
})
})
这样对应的css类似如下
.box{display:none}#show{display:block}
.box默认隐藏 被附加id为show后就显示
因为你的列表内容应该是数据绑定生成的,可以定义相同class,上面是感觉比较通用的写法
手写的,没有测试