в IE9 не работает, а в ранних работает
имеется таблица, в которой цвет строк чередуется
<tr class="color1" ....> <tr class="color2" ....> нужно чтобы при наведении мышью строка меняла свой цвет на color3, который задан при помощи #listhover{color:color3;}
$('#listTable tr').hover(
function () {
$(this).attr("id","listhover");
},
function () {
$(this).removeAttr("id");
}
);
все распрекрасно работает во всех браузерах, кроме IE9, в котором строка после ухода с нее мыши попросту обесцвечивается (становится белой). То есть ощущение, что вторая функция в hover не только удаляет атрибут, задающий color3, но заодно и класс, определяющий изначальный цвет строки (color1 или color2). Как с этим бороться? |
а почему не использовать вместо id = listhover class = active?
Тогда:
$('#listTable tr').hover(hoverTd, hoverTd);
function hoverTd() {
$(this).toggleClass("active");
};
|
почему-то этот вариант не работает.
firebug показывает при наведении <tr class="color1 listhover" , но цвет заданный в listhover не перекрывает цвет, заданный в color1 |
Тогда задавайте цвет для каждой конкретной ячейки таблицы, а не для всей строки:
$('#listTable tr').hover(hoverTd, hoverTd);
function hoverTd() {
$(this).find('td').each(function () {
$(this).toggleClass("active");
});
};
|
Чтобы прописанный вами стиль цвета перекрывал ВСЕ стили (даже прописанные в style элемента) можете дописать !important, например:
color: red !important; В css будет отробатываться тот стиль, который задан точнее. Например если у вас
.someClass .color1 {
/*стиль*/ }
#someId .someClass .active {
/*стиль*/
}
В данном случае отработает стиль active. |
тоже не работает. Этот вариант не добавляет цвет в ячейки.
|
ура! ваш вариант
$('#listTable tr').hover(hoverTd, hoverTd);
function hoverTd() {
$(this).toggleClass("active");
};
заработал, когда задал important для класса active Спасибо большое! |
Что-то вы не так делаете, выложите больше кода и желательно тестовый пример.
Цитата:
|
все заработало, спасибо. Просто пока я отвечал на одно сообщение, вы написали другое. Путаница вышла :)
|
Старайтесь по возможности избегать !important, это костыль, к тому-же не очень хороший. Им можно пользоваться только для таких временных классов, которые есть только при наведении и т.п., иначе замучаетесь вносить изменения в стилях и не сможете перекрывать их стилями из скрипта.
|
спасибо, буду знать!
|
| Часовой пояс GMT +3, время: 16:55. |