:last-child
це справді єдиний спосіб зробити це без зміни HTML-коду, але, припускаючи, що ви можете це зробити, основним варіантом є просто дати йому class="last-item"
, а потім:
li.last-item { }
Очевидно, що ви можете автоматизувати це на вибраній мовою динамічної генерації сторінок. Крім того, lastChild
у W3C DOM є властивість JavaScript.
Ось приклад виконання того, що ви хочете в прототипі :
$$("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 - тому він повинен бути менш глюковим та надійнішим у браузерах.