jquery: выбрать все элементы после nth - PullRequest
16 голосов
/ 30 июля 2010

У меня есть x число <div>, и мне нужно выбрать все после 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 удалить все div.foo после того, как 3-й div.foo даст:

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

Спасибо

Ответы [ 4 ]

19 голосов
/ 30 июля 2010
$('.foo:gt(2)').remove();

Попробуйте: http://jsfiddle.net/MYY9m/

При этом используется селектор greater-than для выбора всех элементов, индекс которых превышает указанное число.

3 голосов
/ 30 июля 2010

Вы также можете сделать:

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

См. http://api.jquery.com/slice/

2 голосов
/ 30 июля 2010

Не так элегантно, как решение Патрика DW, но это также работает:

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

См. http://api.jquery.com/nextAll/

0 голосов
/ 08 августа 2015

Эффективно использовать slice или eq, так как gt не принимает переменные. например

// не будет работать

var items_to_remove = 8;

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

// будет работать

var items_to_remove = 8;

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...