Jquery Slidedown First

时间:2014-06-03 17:37:24

标签: javascript jquery

我和其他人合作html否则我会接近这个不同的地方,但我试图从中创造一个简单的手风琴。

问题是只有幻灯片显示第一批div,它应该找到它的父div和幻灯片放映。

JS

  $('h3.jqueryheading').click(function() {
      $(this).parent().find('div:first').slideToggle( "slow", function() {});
   });

HTML

<h3 class="jqueryheading" style="cursor:pointer">Heading One</h3>
<div style="display:none;">
  <p><img src="one.jpg"/></p>
  <p><img src="two.jpg"/></p>
</div>

<h3 class="jqueryheading" style="cursor:pointer">Heading Two</h3>
<div style="display:none;">
  <p><img src="three.jpg"/></p>
  <p><img src="four.jpg"/></p>
</div>

为什么会发生这种情况?

3 个答案:

答案 0 :(得分:3)

以父母为目标,然后所有DIV都会获得所有DIV,因为他们是同一父母的孩子,只需定位next() DIV

$('h3.jqueryheading').click(function () {
    $(this).next('div').slideToggle("slow");
});

FIDDLE

答案 1 :(得分:1)

您可以使用next来定位下一个元素

 $('h3.jqueryheading').click(function() {
  $(this).next().slideToggle( "slow", function() {});

});

或下一个div标签,如果你想具体

 $('h3.jqueryheading').click(function() {
  $(this).next('div').slideToggle( "slow", function() {});

});

FIDDLE

答案 2 :(得分:0)

您只需要使用一个问题:first-child或:eq(0)

$('h3.jqueryheading').click(function() {
      $(this).parent().find('div:eq(0)').slideToggle( "slow", function() {});
});