Выберите все дочерние элементы, кроме первого - PullRequest
81 голосов
/ 07 октября 2008

Скажите, у меня есть следующее:

<ul>
 <li>First item</li>
 <li>Second item</li>
 <li>Third item</li>
</ul>

Как бы я выбрал все дочерние элементы после первого, используя jQuery? Так что я могу достичь чего-то вроде:

<ul>
 <li>First item</li>
 <li class="something">Second item</li>
 <li class="something">Third item</li>
</ul>

Ответы [ 8 ]

131 голосов
/ 07 октября 2008

Вы должны быть в состоянии использовать селекторы "not" и "first child".

$("li:not(:first-child)").addClass("something");

http://docs.jquery.com/Selectors/not

http://docs.jquery.com/Selectors/firstChild

33 голосов
/ 09 октября 2008

Основываясь на моем совершенно ненаучном анализе четырех методов здесь, похоже, что между ними нет большой разницы в скорости. Я запускал каждый из них на странице, содержащей ряд неупорядоченных списков различной длины, и рассчитывал их, используя профилировщик Firebug.

$("li").slice(1).addClass("something");

Среднее время: 5,322 мс

$("li:gt(0)").addClass("something");

Среднее время: 5,590мс

$("li:not(:first-child)").addClass("something");

Среднее время: 6,084мс

$("ul li+li").addClass("something");

Среднее время: 7,831мс

13 голосов
/ 07 октября 2008

http://docs.jquery.com/Traversing/slice

$("li").slice(1).addClass("something");
9 голосов
/ 07 октября 2008

Более элегантный запрос (выберите все элементы li, которым предшествует элемент li):

$('ul li+li')

3 голосов
/ 07 октября 2008

я бы использовал

$("li:gt(0)").addClass("something");
2 голосов
/ 07 октября 2008

Это должно работать

$('ul :not(:first-child)').addClass('something');
1 голос
/ 07 октября 2008

Это то, что я работаю до сих пор

$('.certificateList input:checkbox:gt(0)')
0 голосов
/ 21 мая 2018

Использовать метод jQuery .not ()

$('li').not(':first').addClass('something');

OR

var firstElement = $('li').first();
$('li').not(firstElement).addClass('something');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...