javascript - 仅 slideToggle() 子 div 的通用方法

标签 javascript jquery

jquery 新手。我想做一个 slideToggle 来折叠 Accordion 并展开一个部分。

单击标题时,我想展开/折叠“#section”中的所有内容。

<h3 id="assignments">Assignments</h3>
    <div id="section">
      Assignment Count <input type="number" name="assignment_count">
    </div>

我有下面的代码。但我想让它变得通用,这样如果我点击任何标题,它只会折叠它下面的部分,而不是所有 ID 为“#section”的 div

$(document).ready(function(){
    $("h3").click(function(){
        $("#section").slideToggle();
    });
});

最佳答案

您可以使用 DOM 遍历来实现这一点。在h3click 处理程序中,next() 函数可用于检索以下元素。试试这个:

$('h3').click(function() {
  $(this).next('div').slideToggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3>Assignments</h3>
<div>
  Assignment Count
  <input type="number" name="assignment_count">
</div>

<h3>Foo</h3>
<div>
  Foo Count
  <input type="number" name="foo_count">
</div>

<h3>Bar</h3>
<div id="section">
  Bar Count
  <input type="number" name="bar_count">
</div>

关于javascript - 仅 slideToggle() 子 div 的通用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31101793/

相关文章:

javascript - 在 HTML + Nodejs 中显示图像

javascript - React 组件无法更新 onClick 事件处理程序

c# - MVC 中的 JQuery getJSON

javascript - 如何使轮播占据整个页面宽度

PHP - exit() 会停止设置了ignore_user_abort(true) 的脚本吗?

javascript - typescript 索引签名访问器

javascript - chrome.runtime.sendMessage 在 Chrome 扩展程序中不起作用

javascript - 如何终止 npm 子进程

javascript - jQuery 中的点击功能是否有可能等待 ajax 完成然后执行一些代码?

jquery keyup 按住 Shift 和数字键盘键