问题
I want to apply a special class to the two last list items in an unordered list with jQuery. Like this:
<ul>
<li>Lorem</li>
<li>ipsum</li>
<li>dolor</li>
<li class="special">sit</li>
<li class="special">amet</li>
</ul>
How to? Should I use :eq somehow?
Thanks in advance
Pontus
回答1:
Another approach, using andSelf and prev:
$('ul li:last-child').prev('li').andSelf().addClass("special");
回答2:
You can use function slice. It is very flexible.
$('ul li').slice(-2).addClass("special");
回答3:
var items = $('ul li')
var last_two = items.filter('li:gt('+ items.length-3 +')')
last_two.addClass('special');
回答4:
$(function(){
$("li:gt("+($("li").length-3)+")").addClass("special");
});
来源:https://stackoverflow.com/questions/1257233/jquery-getting-the-two-last-list-items