我想知道是否有某种方法可以使用CSS更改列表中最后li
个的CSS属性.我已经考虑过使用:last-child
,但这似乎真的很麻烦,我不能让它为我工作.如有必要,我将使用JavaScript来完成此任务,但我想知道是否有人能用CSS想出解决方案.
我想知道是否有某种方法可以使用CSS更改列表中最后li
个的CSS属性.我已经考虑过使用:last-child
,但这似乎真的很麻烦,我不能让它为我工作.如有必要,我将使用JavaScript来完成此任务,但我想知道是否有人能用CSS想出解决方案.
:last-child
确实是在不修改HTML的情况下执行此操作的唯一方法-但假设您可以做到这一点,主要选项就是给它一个class="last-item"
,然后执行以下操作:
li.last-item { /* ... */ }
显然,您可以使用自己 Select 的动态页面生成语言来自动实现这一点.此外,W3C DOM中还有一个lastChild
JavaScript属性.
下面是一个在Prototype分钟内做你想做的事情的例子:
$$("ul").each(function(x) { $(x.lastChild).addClassName("last-item"); });
或者更简单地说:
$$("ul li:last-child").each(function(x) { x.addClassName("last-item"); });
在jQuery中,你可以把它写得更紧凑:
$("ul li:last-child").addClass("last-item");
还需要注意的是,这should在不使用实际的last-child
CSS Select 器的情况下工作——而是使用了它的JavaScript实现——因此,它应该在不同浏览器中的错误更少,更可靠.