jQuery - 如何找到没有类的下一个兄弟?

时间:2014-09-19 14:26:53

标签: jquery jquery-selectors

我有一个列表,其中包含一个动态设置的扩展类。我找不到与可见元素相关的下一个列表项。当选择器在.siblings(':visible')上时,.next(':visible')jQuery('.expanded')似乎不起作用,大概是因为它正在寻找下一个扩展类。

<ul id="list_1" class="list">
    <li class="gridImage" data-id="Christmas"></li> //not visible
    <li class="gridImage" data-id="Christmas"></li> //not visible
    <li class="gridImage expanded" data-id="Easter"></li>
    <li class="gridImage" data-id="Valentines"></li> //not visible
    <li class="gridImage" data-id="Easter"></li>
    <li class="gridImage" data-id="Miscellaneous"></li> //not visible
</ul>

2 个答案:

答案 0 :(得分:1)

您可以尝试类似

的内容
.nextUntil(':visible').last().next()

找到所有的兄弟姐妹直到下一个可见的兄弟姐妹,然后从集合中取出最后一个(所以它的下一个兄弟应该是可见的兄弟姐妹)然后是它的下一个兄弟。

答案 1 :(得分:1)

这是另一种方式: http://jsfiddle.net/slicedtoad/kqpbh3fv/

$('.expanded').nextAll(":visible").first()

nextAll就像下一个,但它会抓住所有与选择器匹配的兄弟姐妹。首先只采用第一个。

相关问题