jQuery显示/隐藏嵌套的div

时间:2012-12-10 08:02:58

标签: jquery jquery-ui jquery-plugins show show-hide

我有一个尴尬的问题,我无法解决。

我有一个嵌套的div,我想在用户点击链接时显示/隐藏它。所有的div都是一次性的。

我无法将ID分配给我的div,所以我需要在课程中进行。

<a href="#" id="showhide">Show more</a>

<div class="more">
<div class="more1">
<h2>Some title</h2>
<p>Some text</p>
</div>

<div class="more2">
<h2>Some title</h2>
<p>Some text</p>
</div>

<div class="more3">    
<h2>Some title</h2> 
<p>Some text</p>
</div>

</div>​

这是我的html结构的小提琴。 http://jsfiddle.net/56jdL/1/

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以先使用css隐藏div:

.more { display: none }

或jQuery:

$('.more').hide() 

然后使用toggle方法:

$(function() {
   // $('.more').hide() 
   $('#showhide').click(function(e){
      e.preventDefault();
      $('.more').toggle()
   })
})

http://jsfiddle.net/J2YgE/

答案 1 :(得分:0)

试试这个:

$("#showhide").on('click', function(){
    $(".more").children("div").slideToggle();
    return false;
});

<强> DEMO

修改

要有选择地切换div,然后给出一个可以选择它们的类。

<div class="hideMe">
    ...
</div>

然后,以下jQuery将仅对这些div执行操作:

$("#showhide").on('click', function(){
    $(".more").children("div.hideMe").slideToggle();
    return false;
});

<强> DEMO

编辑2

这是一个适用于更完整代码的版本:

$(".showhide").on('click', function() {
    $(this).closest(".vrsticaoglas").find(".more").children("div").slideToggle();
    return false;
});

<强> DEMO