jquery:在第n个之后选择所有元素

时间:2010-07-30 16:15:11

标签: jquery jquery-selectors

我有<div>的x个数字,我需要在n之后选择全部。

<div class=foo>4:00</div>
<div class=foo>5:00</div>
<div class=foo>6:00</div>
<div class=foo>7:00</div>
<div class=foo>8:00</div>

例如,给定n = 3和div.foo,在第3 div.foo收益后删除所有div.foo

<div class=foo>4:00</div>
<div class=foo>5:00</div>
<div class=foo>6:00</div>

由于

4 个答案:

答案 0 :(得分:19)

$('.foo:gt(2)').remove();

试一试: http://jsfiddle.net/MYY9m/

这使用greater-than选择器来选择索引大于所提供数字的所有元素。

答案 1 :(得分:3)

你也可以这样做:

$('.foo').slice(3).remove();

请参阅http://api.jquery.com/slice/

答案 2 :(得分:2)

不像Patrick DW的解决方案那么优雅,但这也有效:

$('.foo').eq(2).nextAll().remove();

请参阅http://api.jquery.com/nextAll/

答案 3 :(得分:0)

使用切片或eq是有效的,因为gt不接受变量。例如

//无效

var items_to_remove = 8;

$("li:gt(items_to_remove)").remove();

//将起作用

var items_to_remove = 8;

$('li').slice(items_to_remove).remove();