jQuery - 选择一系列项目,除非它有一个类

时间:2015-11-24 17:30:53

标签: jquery

我想选择一系列列表项,除非它有一个类。我想隐藏并展示。

<ul>
  <li class="parent">Parent</li>
  <li>item</li>
  <li>item</li>
  <li class="parent">Parent</li>
  <li>item</li>
  <li>item</li>
  <li class="parent">Parent</li>
  <li>item</li>
  <li>item</li>
</ul>

的jQuery

$('li').not('.parent').hide();
$('li.parent').on('click', function(){
    //select every next siblings unless it finds a classname
});

因此,当点击父级时,我想显示下两个列表。

我知道嵌套列表会很容易。但我通过插件生成的代码执行此操作。这就是它的结构。

There's my code.

2 个答案:

答案 0 :(得分:4)

您可以使用.nextUntil() method来选择li兄弟姐妹,直到下一个.parent

Example Here

$('li.parent').on('click', function(){
    $(this).nextUntil('.parent').show();
});

答案 1 :(得分:1)

$('li').not('.parent').hide();
$('li.parent').on('click', function(){
    $('li').not('.parent').not($(this).nextUntil('li.parent')).hide();
    $(this).nextUntil('li.parent').slideToggle();
});

Working DEMO