如何选择在最后一个子元素之前的元素?

我正在寻找一个CSS选择器,让我选择列表的倒数第二个孩子。

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li> <!-- select the pre last item dynamically no matter how long this list is -->
<li>6</li>
</ul>

静态方法:

ul li:nth-child(5)

动态的方法:

ul li:last-child(-1)

当然这并不能证明,而且第n -last-child似乎也没有提供一个动态的方法。我可以退回到javascript,但我想知道是否有一种css方式我忽略了

137777 次浏览

可以使用:nth-last-child();事实上,除了:nth-last-of-type(),我不知道你还可以使用什么。我不确定你说的“动态”是什么意思,但如果你的意思是当更多的子元素被添加到列表中时,这种风格是否适用于新的倒数第二个子元素,是的,它会。互动的小提琴。

ul li:nth-last-child(2)

除非您可以在服务器端用类标记该元素,否则最好使用jQuery。

jQuery(document).ready(function () {
$count = jQuery("ul li").size() - 1;
alert($count);
jQuery("ul li:nth-child("+$count+")").css("color","red");
});