slideToggle 不适用于 .sibling 方法

slideToggle not working for .sibling method

我想在单击标题时显示隐藏的 div。我已选择 jQuery 来使用 slideToggle 执行此操作。我将 class 设置为 "clicker-2",而 div 是 class "skill-talk_holder" 其内容设置为被 [=24= 隐藏]. "skill-talk_holder" 的 class 有多个 div,所以我必须使用一次只能打开一个的东西,而不是在单击 "clicker-2" 时打开所有的东西.

但是,唯一发生的事情是页面重新加载(只是转到顶部,而不是使用新的 HTTP 请求)。

这是我的代码:

<script type="text/javascript">
$(document).ready(function() {
    $('.clicker-2').click(function() {
        $(this).siblings('div').slideToggle("slow");
    });
});
</script>           

还有HTML

<div class="divider">
    <a href="#" class="clicker-2"><h3 class="title">Non-Coding Web Skills</h3></a>
</div>
<span class="spacer"></span>
<div class="skill-talk_holder">
    content content content
</div>

根据您的意见,您可以使用 .nextAll()

$(document).ready(function() {
  
  $('.clicker-2').click(function(event) {
      event.preventDefault();
      $('.skill-talk_holder').slideUp('slow'); 
      $(this).parent().nextAll('.skill-talk_holder:eq(0)').slideToggle('slow');
  });
});
.skill-talk_holder {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<div class="divider">
    <a href="#" class="clicker-2"><h3 class="title">Non-Coding Web Skills</h3></a>
</div>
<span class="spacer"></span>
<div class="skill-talk_holder">
    content content content
</div>

<div class="divider">
    <a href="#" class="clicker-2"><h3 class="title">Non-Coding Web Skills</h3></a>
</div>
<span class="spacer"></span>
<div class="skill-talk_holder">
    content content content
</div>

<div class="divider">
    <a href="#" class="clicker-2"><h3 class="title">Non-Coding Web Skills</h3></a>
</div>
<span class="spacer"></span>
<div class="skill-talk_holder">
    content content content
</div>

只是缺少父选择器:

$(this).parents('.divider:first').siblings('div').slideToggle("slow");