Альтернатива для nth-child для старых браузеров IE

Есть ли альтернатива для таргетинга элементов, использующих nth-child() для старых браузеров IE?

Javascript (не JQuery) будет достаточно.

РЕДАКТИРОВАТЬ: Данные дополнительные библиотеки не могут быть добавлены на страницу.

4 ответа

Решение

Вы можете использовать jQuery's : nth-child () селектор;

$("li:nth-child(even)") // target even li's
$("li:nth-child(odd)") // target odd li's
$("li:nth-child(5n)") // target the fifth li

Это немного отстой, но вы можете

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 {}

Повторите по мере необходимости.

Есть Селективизр: http://selectivizr.com/

:nth-child поддерживается в каждом фреймворке javascript, который работает с ним, включая jQuery.

Большим преимуществом использования этого является то, что он читает непосредственно из ваших CSS-файлов, а не пишет дополнительный JavaScript (это ненавязчиво). Вы можете просто использовать расширенные селекторы как обычно.

Вы можете использовать полифилл IE9.js: http://ie7-js.googlecode.com/svn/test/index.html.

Другие вопросы по тегам