2009-08-10 21 views
19

मैं jQuery के साथ एक अनियमित सूची में दो अंतिम सूची आइटमों के लिए एक विशेष कक्षा लागू करना चाहता हूं। इस तरह:jQuery: दो अंतिम सूची आइटम प्राप्त करना?

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

कैसे करें? क्या मुझे इसका उपयोग करना चाहिए: eq किसी भी तरह?

अग्रिम

पुन्तुस

उत्तर

23

एक और दृष्टिकोण, धन्यवाद andSelf और prev का उपयोग कर:

$('ul li:last-child').prev('li').andSelf().addClass("special"); 
+0

धन्यवाद! वह खूबसूरती से काम किया! – ponjoh

+0

@ponjoh: आपका स्वागत है! – CMS

5
var items = $('ul li') 
var last_two = items.filter('li:gt('+ items.length-3 +')') 
last_two.addClass('special'); 
+0

वैकल्पिक: items.slice (items.length - 2) .addClass ('विशेष') – Marc

+0

एक जवाब के रूप में: पी –

+0

धन्यवाद एक बहुत है, लेकिन क्या मैं तो चर "last_two" के साथ क्या करते हो? – ponjoh

3
$(function(){ 

    $("li:gt("+($("li").length-3)+")").addClass("special"); 

}); 
42

आप समारोह slice उपयोग कर सकते हैं। यह बहुत लचीला है।

$('ul li').slice(-2).addClass("special"); 
+1

देशी समाधान के लिए +1 –

+1

और सबसे छोटा :) – vkostromin

+2

मैं इस "मूल" पर विचार नहीं करता। आनुवंशिक के लिए – ricka

संबंधित मुद्दे