如果我有这样的话:
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
我需要将addClass“extra”添加到倒数第二个(例如,如果我有5个li元素,额外的类将被添加到第4个li元素中)。
所以这种情况的结果将是:
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li class="extra">4</li>
<li>5</li>
</ul>
提前致谢
答案 0 :(得分:11)
$("li:last").prev("li").addClass("class-to-add")
答案 1 :(得分:6)
如果只有一个列表,只需将负索引传递给eq()
[docs]方法。
$("ul li").eq(-2).addClass("extra");
听起来你正在使用旧版本的jQuery。
Here's an example显示它在jQuery 1.3.2
中工作。
答案 2 :(得分:4)
$("ul li").last().prev().addClass("foo");
答案 3 :(得分:1)
由于您的所有<li>
元素都是兄弟元素,并且它们之间没有其他元素,您可以使用last()后跟prev():
$("li").last().prev().addClass("extra");
中间还有其他元素,您必须使用prevAll()代替:
$("li").last().prevAll("li").first().addClass("extra");
答案 4 :(得分:1)
$('li').eq($('li').length-2).addClass("extra")
答案 5 :(得分:0)
var items = $("ul").children();
var penultimate = items.eq(items.length - 2);
penultimate.addClass("extra");
答案 6 :(得分:0)