Я рекомендую сделать оба из них с pure css / css3 , JS не требуется! Это кажется идеальным, когда то, что вы пытаетесь сделать, не связано с контентом. Будущее сейчас !:
Css чередование строк:
использовать nth-child();
http://dev.opera.com/articles/view/zebra-striping-tables-with-css3/
Это не будет отображаться для ie7 и ie8 (http://caniuse.com/#search=nth-child), но они по-прежнему получают контент, поэтому я считаю это победой.
Стилизация последнего элемента статического списка:
#nav li + li + li{
// Crazy styles on the 3rd li here!
}
(имеет хорошую поддержку: http://caniuse.com/#search=sibling)
Стилизация последнего элемента динамического списка
Использование: последний ребенок.
div#test p:last-child {color: red;}
div#test p:first-child {text-decoration: underline;}
: last-child не поддерживается в ie7 и ie8 (http://caniuse.com/#search=last-child), поэтому будьте осторожны, если вы делаете что-то, что здесь изящно ухудшается. Странно, но: first-child есть, так что, возможно, вы можете, скажем, по умолчанию добавить цвета ко всем элементам, а затем явно удалить их из первого дочернего элемента, что будет работать во всех браузерах.