jQuery中的嵌套手风琴菜单

我有一个使用一组嵌套手风琴实现的菜单, 12 ,每个都有元素ab

我想实现以下逻辑:

  • 当我点击1a ,我将得到1a和两个子菜单2a2b

  • 当我点击2a2b我将分别得到每个数据。

问题

期望的结果:

  • 我只想显示最后一次点击的nth-most个子元素,折叠所有其他元素。
  • 初始化时,只能看到1a1b

目前的结果:

  • 点击1b ,然后点击2b1b仍然完全可见。

JavaScript代码

 $(document).ready(function() { $("#acc1").accordion({ active:".ui-accordion-left", alwaysOpen: false, autoheight: false, header: 'a.acc1', clearStyle: true }); $("#acc2").accordion({ alwaysOpen: false, autoheight: false, header: 'a.acc2', clearStyle: true }); }); 

HTML:

 
  • 1a
    data of 1a
    data of 1a
    data of 1a
    • 2a
      data of 2a
      data of 2a
      data of 2a
    • 2b
      data of 2b
      data of 2b
      data of 2b
  • 1b
    data of 1b
    data of 1b
    dta of 1b

只需对HTML中元素的顺序进行一些更改,您就可以获得所需的行为。 现在开始只有1a和1b打开。 类似地,当你点击1b时,它将关闭1a,这将隐藏任何打开的2a / 2b部分。

  $(document).ready(function() { $("#acc1").accordion({ active:".ui-accordion-left", alwaysOpen: false, autoheight: false, header: 'a.acc1', clearStyle: true }); $("#acc2").accordion({ active:".ui-accordion-left", alwaysOpen: false, autoheight: false, header: 'a.acc2', clearStyle: true }); }); 
  • 1a
    data of 1a
    data of 1a
    data of 1a
    • 2a
      data of 2a
      data of 2a
      data of 2a
    • 2b
      data of 2b
      data of 2b
      data of 2b
  • 1b
    data of 1b
    data of 1b
    dta of 1b