0

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

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 是我正在使用的。我知道我需要替换父级或添加到它以移回树下,我尝试了最接近()和下一个()但无法让它工作。

$('.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');
  }
});
4

2 回答 2

2

尝试

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

演示:小提琴

于 2013-10-22T10:22:14.520 回答
1

对你有用

使用 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');

    }
});
于 2013-10-22T10:31:17.937 回答