Сегодня мне пришло в голову, что комбинация селекторов jQuery и функции addClass() не работает должным образом в IE8.
Например, когда я хочу, чтобы четные строки были выбраны в таблице, я написал:
jQuery(document).ready(function($){
$("#table1 tr:nth-child(even)").addClass("even");
}
И для CSS я написал:
#table1 tr:nth-child(even), #table1 tr.even {
background-color: #ff0;
}
В Firefox, Chrome, Safari и Opera, даже без селектора псевдокласса в файле CSS, выбираются строки с четными номерами. Однако в IE8 это не так. Строки не имеют другого цвета фона.
Это странно, потому что когда я использовал:
jQuery(document).ready(function($){
$("#table1 tr:nth-child(even)").css({"background-color":"#ff0"});
}
Выбранные строки выделены в IE8.
Ниже приведен пример проблемы - пример 24ways. В Firefox, Chrome, Safari и Opera нечетным строкам присваивается класс "нечетный". Однако в IE8 им не присваивается класс "нечетных" и не подсвечивается.