:last-child
est vraiment la seule façon de le faire sans modifier le HTML, mais en supposant que vous pouvez faire, l'option principale est juste pour lui donner un class="last-item"
, alors:
li.last-item { /* ... */ }
Évidemment, vous pouvez automatiser cette dans la dynamique de génération de la page à la langue de votre choix. Aussi, il y a un lastChild
JavaScript propriété dans le DOM du W3C.
Voici un exemple de ce que vous voulez dans le Prototype:
$$("ul").each(function(x) { $(x.lastChild).addClassName("last-item"); });
Ou encore plus simplement:
$$("ul li:last-child").each(function(x) { x.addClassName("last-item"); });
En jQuery, vous pouvez l'écrire, même de manière plus compacte:
$("ul li:last-child").addClass("last-item");
Notez également que cela devrait fonctionner sans l'aide de la réelle last-child
sélecteur CSS - JavaScript mise en œuvre de ce - de sorte qu'il devrait être moins buggé et plus fiable dans les navigateurs.