:last-child
ist wirklich die einzige Möglichkeit, dies zu tun, ohne den HTML-Code zu ändern. Vorausgesetzt, Sie können dies tun, besteht die Hauptoption darin, ihm nur eine zu geben class="last-item"
und dann Folgendes zu tun:
li.last-item { }
Natürlich können Sie dies in der Sprache der dynamischen Seitengenerierung Ihrer Wahl automatisieren. Außerdem gibt es lastChild
im W3C-DOM eine JavaScript-Eigenschaft.
Hier ist ein Beispiel dafür, wie Sie in Prototype das tun, was Sie wollen :
$$("ul").each(function(x) { $(x.lastChild).addClassName("last-item"); });
Oder noch einfacher:
$$("ul li:last-child").each(function(x) { x.addClassName("last-item"); });
In jQuery können Sie es noch kompakter schreiben:
$("ul li:last-child").addClass("last-item");
Beachten Sie auch, dass dies ohne Verwendung des eigentlichen CSS-Selektors funktionieren solltelast-child
- stattdessen wird eine JavaScript-Implementierung verwendet -, sodass es weniger fehlerhaft und zuverlässiger für alle Browser sein sollte.