У меня есть таблица с событием jquery onClick на tr-строках. Я хочу выделить текущую выбранную строку. «Чтобы выделить» означает: изменить цвет фона и обычный шрифт на курсивный шрифт. Поэтому я создал класс «selected_row», а в onClick я добавляю класс в строку. Раньше я удалял класс из всех остальных строк, чтобы удалить выделение из ранее выделенных строк. Дело в том, что он отлично работает, но только для каждой второй строки. Это работает в IE8. Я проверял инструменты разработчика в IE8, и хотя класс selected_row действительно применяется и видим там для каждой строки с индексом 1, 3, 5, ... это не применяется или видимо в дереве DOM в отладчике для строки с индексом 0, 2, 4, ... Я не знаю. Между строками с нечетным и четным индексом нет никакой разницы.jquery addClass применяется только к каждой второй строке таблицы
Вот часть кода:
table th {
background-color: #ededed;
padding: 5px;
}
table td {
padding: 5px;
}
.selected_row {
font-style: italic;
background-color: #eeeeee;
}
JavaScript:
var tableRowClickHandler = function() {
if ($(this).hasClass ("header")) {
// alert ('has class');
}
else {
var _this = $(this)
if (_this.hasClass ("selected_row")) {
_this.removeClass ("selected_row");
}
else {
$("tr").each (function() {
if (!$(this).hasClass ("header"))
$(this).removeClass ("selected_row");
});
_this.addClass ("selected_row");
}
}
};
'$ ('. Selected_row'). RemoveClass ('selected_row')', чтобы удалить все предыдущие вхождения этого класса – Dharman
выглядит отлично http://jsfiddle.net/arunpjohny/hkUCJ/1/ –
это должно быть так просто как http://jsfiddle.net/arunpjohny/hkUCJ/2/ –