我希望从指定的特定索引div中获取所有下一个('.slide')div。 下面的例子我希望在“C”之后的所有('.slide')div
HTML
<div id='parent'>
<div class='slide'>A</div>
<div class='slide'>B</div>
<div class='slide'>C</div>
<div class='slide'>D</div>
<div class='slide'>E</div>
<div class='otherdiv'>F</div>
<div class='otherdiv'>G</div>
</div>
jQuery: $("#parent").children().eq(2).nextAll().find('.slide')
答案 0 :(得分:3)
该代码目前正在执行以下操作:
//Retrieves the DOM element <div class='slide'>C</div>
$("#parent").children().eq(2)
//Retrieves DOM elements for spans D-G
.nextAll();
//Looks *inside* spans D-G for inner elements that have class 'slide'
.find('.slide')
.nextAll支持选择器进行过滤:
$("#parent").children().eq(2).nextAll('.slide');
答案 1 :(得分:0)
jQuery的.find()方法只搜索子元素,而不是兄弟元素。如果您使用.filter(),您的代码应该有效。
$("#parent").children().eq(2).nextAll().filter('.slide')
更新了Fiddle
或者,您可以将选择器包含在.nextAll()
的调用中$("#parent").children().eq(2).nextAll('.slide')
答案 2 :(得分:0)
如果你想通过像C这样的特定值找到下一个:
$("#parent").filter(function () {
return $(this).text() == "C"
}).nextAll(".slide");
答案 3 :(得分:0)
尝试
$("#parent").children().eq(2).nextAll('.slide')
答案 4 :(得分:-1)
你想要.filter('.slide')
,
因为.find()
向下看树,但你已经有了div。
编辑:$("#parent > div.slide:gt(2)")
也会通过选择器