jQuery: получить два последних элемента списка?

Я хочу применить специальный класс к двум последним элементам списка в неупорядоченном списке с помощью jQuery. Как это:

<ul>
<li>Lorem</li>
<li>ipsum</li>
<li>dolor</li>
<li class="special">sit</li>
<li class="special">amet</li>
</ul>

Как? Должен ли я как-то использовать :eq?

заранее спасибо

Понт


person ponjoh    schedule 10.08.2009    source источник


Ответы (3)


Другой подход с использованием andSelf и предыдущий:

$('ul li:last-child').prev('li').andSelf().addClass("special");
person Christian C. Salvadó    schedule 10.08.2009
comment
andSelf() устарела, начиная с jQuery 1.8, и удалена в версии 3.0. - person ZalemCitizen; 30.10.2020

Вы можете использовать функцию slice. Он очень гибкий.

$('ul li').slice(-2).addClass("special");
person vkostromin    schedule 13.12.2012
comment
Я бы не считал это родным. - person ricka; 21.11.2013

person    schedule
comment
альтернативно: items.slice(items.length - 2).addClass('special') - person Marc; 11.08.2009
comment
Большое спасибо, но что мне тогда делать с переменной last_two? - person ponjoh; 11.08.2009
comment
last_two.addClass (специальный); - person Marc; 11.08.2009