jquery 如何实现多个DIV展开收缩

$(function(){
var $slider=$('.post');
$slider.toggle(function(){

$slider.find('.content').slideDown();
$slider.find('span').text('-');
},function(){
$slider.find('.content').slideUp().find('span').text('+');/
});

});
我一个页面上需要多处实现DIV展开收缩效果,但用一个函数,所有的都会同时展开收缩的!怎么改可以让它们相互独立实现展开收缩功能?
是用同一代码实现,如果说每个都写一个函数,那就不用回答了
大侠们 谢谢!

//给那些div一个共同的属性:比如name="showhide"
$("div[name=showhide]").fadeIn(500);//显示name是showhide的所有div
$("div[name=showhide]").fadeOut(500);//隐藏name是showhide的所有div

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-16
就是你不要用find,这样就把所有的都找出来了。
你要用$(this)加上next,prev,parent等方法找到相对路径的对象,然后再slideDown()和slideUp()
这样就是每一个展开收缩自己的div.
由于你没给出html代码,所以我也不知道你的具体路径,没法帮你直接写出来。本回答被提问者采纳
第2个回答  2011-02-06
<div style="height: auto; ">
<div id="d1" class="top_div">机械信息</div>
<div id="d1_" class="hid_div">
内容1
</div>
</div>
<div style="height: auto; ">
<div id="d2" class="top_div">机械位置</div>
<div id="d2_" class="hid_div">
内容2
</div>
</div>

<script type="text/javascript">
$(".top_div").click(function(){
$("#"+this.id+"_").toggle();
});
</script>

能看懂么
相似回答