Сделать переменную работу стиля строки таблицы CSS в Internet Explorer

Я использую этот CSS-код для отображения вывода базы данных в строках, где цвета повторяются в каждой второй строке

tbody tr:nth-child(2n) td, tbody tr.even td {  
    background: none repeat scroll 0 0 #E5ECF9;  
}

Если я открою его в IE, это не сработает. Любые советы?

Я использую IE 8.

Ответ 1

IE8 не поддерживает свойство CSS :nth-child. Вы можете заставить его работать в IE8 с помощью этого script:

https://github.com/roylory/ie7-js

Как его использовать:

Вы можете включить его с помощью условных комментариев, например:

<!--[if lte IE 9]>
<script src="IE9.js"></script>
<![endif]-->

script загружается только в IE9 и ниже, другие браузеры не видят его.

Live demo: https://jsbin.com/koyahe/edit?html,css,output

(Эта демонстрация должна работать во всех версиях IE.)

Ответ 2

Мне нравится ответ выше, но альтернативные цвета строк не работают, если документ не обновляется.

Попробуйте также jQuery:

$("tbody tr:even td").css("background-color", "lightgray");

Ссылка:
http://docs.jquery.com/Tutorials:Zebra_Striping_Made_Easy

Ответ 3

Какую версию IE вы используете? CSS :nth-child() не будет работать в старых версиях IE.

Ошибка IE6, IE7, IE8

IE9 (работает)