Is there an alternative for targeting elements using nth-child()
for older IE browsers?
Javascript (non-jquery) would suffice as well.
EDIT: Given additional libraries cannot be added to the page.
Is there an alternative for targeting elements using nth-child()
for older IE browsers?
Javascript (non-jquery) would suffice as well.
EDIT: Given additional libraries cannot be added to the page.
it sucks a little, but you can
ul > li {} /* first-child, overwritten by below */
ul > li + li {} /* second-child, overwritten by below, etc */
ul > li + li + li {}
ul > li + li + li + li {}
Repeat as necessary.
You can use jQuery's :nth-child() selector;
$("li:nth-child(even)") // target even li's
$("li:nth-child(odd)") // target odd li's
$("li:nth-child(5n)") // target the fifth li
There is Selectivizr: http://selectivizr.com/
:nth-child
is supported in every javascript framework that works with it, including jQuery.
The big advantage with using this is that it reads directly from your CSS files rather than having to write additional javascript (it's unobtrusive). You can simply use the advanced selectors as normal.
You can use the IE9.js polyfill: http://ie7-js.googlecode.com/svn/test/index.html.