我有一个列表,其中包含一个动态设置的扩展类。我找不到与可见元素相关的下一个列表项。当选择器在.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>
答案 0 :(得分:1)
您可以尝试类似
的内容.nextUntil(':visible').last().next()
找到所有的兄弟姐妹直到下一个可见的兄弟姐妹,然后从集合中取出最后一个(所以它的下一个兄弟应该是可见的兄弟姐妹)然后是它的下一个兄弟。
答案 1 :(得分:1)
这是另一种方式: http://jsfiddle.net/slicedtoad/kqpbh3fv/
$('.expanded').nextAll(":visible").first()
nextAll
就像下一个,但它会抓住所有与选择器匹配的兄弟姐妹。首先只采用第一个。