0

我们如何仅在列表组中为最后三个项目添加一个类。

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li class="last">7</li>
    <li class="last">8</li>
    <li class="last">9</li>
</ul>
4

7 回答 7

3
li:nth-last-child(-n+3) 
{
  color: green;   
}

小提琴

在这篇 Mozilla 文章中查看

于 2013-08-08T10:25:11.257 回答
2

您可以在一行中完成所有操作!

$("ul li:nth-last-child(-n+3)").addClass("last");

(尽管其他人似乎打败了我!无论如何我都会将其作为 jQuery 解决方案发布)

于 2013-08-08T10:28:11.370 回答
2

例如:

var $lis = $("li");

$lis.filter(":gt(" + ($lis.length - 4) + ")").addClass("last");

演示

于 2013-08-08T10:19:29.050 回答
1

你也可以使用 slice 来实现,传递一个负值来从集合末尾获取元素:

$('li').slice(-3).addClass('last');

这是一个小提琴

于 2013-08-08T10:24:14.123 回答
1

只有 CSS 怎么样?

li:nth-child(n+7) {
color: green;   
}
于 2013-08-08T10:22:52.793 回答
0

尝试这个

$('ul li').slice(-3).addClass("last");
于 2013-08-08T10:23:23.673 回答
0

例如:

$("li.last").addClass("last");

这里演示

于 2013-08-08T10:26:20.853 回答