移动到下一个父母孩子的Jquery方法选择

时间:2013-10-22 10:19:35

标签: javascript jquery html

我很难找到正确的方法来定位正确的元素。

HTML

 <div class="side-blog">
   <div class="side-nav-block-item">
      <h4>Click me</h4>
  </div>
  <div class="side-nav-block-item">
     Stuff I want to Slide up
  </div>
</div> 

jQuery是我正在使用的。我知道我需要替换父级或添加它来移回树下,我尝试过最近的()&amp; next()但无法让它工作。

$('.side-blog h4').click(function() {
  if ($(this).hasClass('on')) {
    $(this).toggleClass('on');
    $(this).parent('.side-nav-block-item').slideUp('normal');
  } else {
    $(this).toggleClass('on');
    $(this).parent('.side-nav-block-item').slideDown('normal');
  }
});

2 个答案:

答案 0 :(得分:2)

尝试

var $this = $(this);
$this.parent('.side-nav-block-item').next()[$(this).hasClass('on') ? 'slideUp' : 'slideDown']('normal');
$this.toggleClass('on');

演示:Fiddle

答案 1 :(得分:1)

this 将为您效劳

使用next()将得到结果。

$('.side-blog h4').click(function() {
if ($(this).hasClass('on')) {

    $(this).toggleClass('on');
        $(this).parent('.side-nav-block-item').next().slideDown('normal');
} else {

    $(this).toggleClass('on');
    $(this).parent('.side-nav-block-item').next().slideUp('normal');

    }
});