jQuery“.closest”不起作用

jQuery ".closest" doesn't work

我最近正在对模板进行一些调整。 它有这种常见问题解答部分,您可以在其中单击一个问题,然后答案幻灯片 down/shows-

不幸的是,这似乎坏了。 所以我想我可以在 footer.tpl 中添加一些 jquery。 这基本上是有效的 - 但它仍然需要一些调整。

我认为使用 .closest() 是正确的选择,但是...naaa:/ 如果我忽略它,它会运行,但随后每个 li 都会做出反应。 我应该改用什么,所以只有 "closest" li shows/hides?

$(document).ready(function(){
    $(".accordion_current").click(function(){
        $.closest(".accordion_content").slideToggle();
    });
});
<ul class="list-accordion">
 <li>
     <h3 class="accordion_current">Anfahrt & Messeplan</h3>
     <ul class="accordion_content">
  <li>
  <p>test</p>
                </li>
            </ul>
 </li>
        <li>
     <h3 class="accordion_current">Anfahrt & Messeplan</h3>
     <ul class="accordion_content">
         <li>
         <p>test</p>
                </li>
     </ul>
        </li>
</ul> 

你不需要 closest,你需要 next。使用 closest 你会找到元素的父元素,但你想寻找兄弟元素。

请注意,您必须使用 $(this) 而不仅仅是 $

$(function() {
    $(".accordion_current").click(function() {
        $(this).next(".accordion_content").slideToggle();
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul class="list-accordion">
  <li>
    <h3 class="accordion_current">Anfahrt & Messeplan</h3>
    <ul class="accordion_content">
      <li>
        <p>test</p>
      </li>
    </ul>
  </li>
  <li>
    <h3 class="accordion_current">Anfahrt & Messeplan</h3>
    <ul class="accordion_content">
      <li>
        <p>test</p>
      </li>
    </ul>
  </li>
</ul>