html - 更改最后一个 <li> 的 CSS

标签 html css css-selectors html-lists

我想知道是否有某种方法可以使用 CSS 更改列表中最后一个 li 的 CSS 属性。我研究过使用 :last-child,但这看起来确实有问题,我无法让它为我工作。如有必要,我将使用 JavaScript 来执行此操作,但我想知道是否有人可以在 CSS 中想出解决方案。

最佳答案

:last-child 实际上是不修改 HTML 的唯一方法 - 但假设你可以这样做,主要的选择就是给它一个 class="last -item”,然后执行:

li.last-item { /* ... */ }

显然,您可以使用您选择的动态页面生成语言自动执行此操作。此外,还有一个 lastChild W3C DOM 中的 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");

另请注意,这应该在不使用实际 last-child CSS 选择器的情况下工作 - 相反,使用它的 JavaScript 实现 - 因此它应该更少错误和跨浏览器更可靠。

关于html - 更改最后一个 <li> 的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1329841/

相关文章:

html - XHTML 电子邮件模板的 HTML UL 中缺少元素符号

css - 加载动画并锁定页面上的所有元素

Javascript querySelectorAll 数据属性值不等于

python - 如何用python替换字符串中的html元素?

html - 网站页眉导航栏和页脚在移动设备上不会达到 100%

javascript - 更改与其 slideDown 和 slideUp 状态相关的导航栏颜色

css - 如何使用悬停选择器显示 "uncle"元素

jquery - 在某些情况下 overflow hidden

html - 无法让背景变化的图像居中

javascript - 为每个第 2、5、8、11 等类元素添加边距