选择所选元素后面的元素

时间:2014-06-09 02:55:18

标签: jquery jquery-selectors

我正在使用jQuery创建自定义手风琴菜单。

enter image description here

我想要完成的是: 如果ul中的ul(例如图像中的第39行)设置为显示... 我想将指定div中的所有ul标记元素FOLLOWING更改为无显示

没有运气.next()或.nextAll()

代码示例

<div id="wrapper"> 
  <ul class="a-menu">
    <li>
        Main menu 1
        <ul>
            <li>Sub 1 menu 1</li>
            <li>Sub 1 menu 2</li>
        </ul>
    </li>
    <li>
        Main menu 2
        <ul>
            <li>
                Sub 2 menu 1
                <ul>
                    <li>Sub 3 menu 1</li>
                    <li>Sub 3 menu 2</li>
                    <li>Sub 3 menu 3</li>
                </ul>
            </li>

            <li>
              Sub 3 menu 2
              <ul>
                <li> Sub 3 menu 1</li>
                <li> Sub 3 menu 2</li>
              </ul>
            </li>

            <li>Sub 3 menu 3 </li>
        </ul>
    </li>
    <li>
      Main menu 3
      <ul>
        <li>Sub 1 menu 1</li>
        <li>Sub 1 menu 2</li>
      </ul>
    </li>
  </ul>

</div>

1 个答案:

答案 0 :(得分:0)

想出来了!

<强>的jQuery

$("document").ready(function() {
  $('li').click(function(ev) {
      $(this).find('>ul').slideToggle();
      ev.stopPropagation();
      $(this).nextAll("li").toggleClass("hidden");
  });
});

<强> CSS

.hidden {
    display: none;
}