我想选择一系列列表项,除非它有一个类。我想隐藏并展示。
<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
});
因此,当点击父级时,我想显示下两个列表。
我知道嵌套列表会很容易。但我通过插件生成的代码执行此操作。这就是它的结构。
答案 0 :(得分:4)
您可以使用.nextUntil()
method来选择li
兄弟姐妹,直到下一个.parent
:
$('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();
});