'全部打开'嵌套的jQuery手风琴

时间:2016-05-26 15:32:34

标签: javascript jquery jquery-ui

我试图在jQuery手风琴中打开所有嵌套手风琴。 示例代码 -

我希望能够只打开嵌套手风琴(嵌套标题)而不是所有手风琴(标题2)。另外,我如何更改“全部展开”按钮? to'折叠所有'然后再次点击时关闭嵌套的手风琴?

    <div class="accordion">
  <h3>Heading 1</h3>
    <div><button type="button" class="expand2nd">Expand all</button>
       <div class="accordion">
         <h3>Nested Heading</h3>
           <div>Nested Title 1</div>
       <div class="accordion">
         <h3>Nested Heading 2</h3>
           <div>Nested Title 2</div>
       <div class="accordion">
         <h3>Nested Heading 3</h3>
           <div>Nested Title 3</div>
     </div>
  <h3>Heading 2</h3>
   <div>content<div>
</div>

$(".expand2nd").click(function (event) {
    $('.accordion .ui-accordion-header:not(.ui-state-active)').nextAll(':has(.accordion .ui-accordion-header)').slideDown();

    return false;
});

非常感谢任何帮助。 谢谢,

1 个答案:

答案 0 :(得分:1)

没有必要在所有子元素中声明一个手风琴类,只需使用声明的第一个手风琴类将允许jquery操纵它们。查看https://jqueryui.com/accordion/示例,它可以完成您特别想要完成的任务。