#jquery
#jquery
Вопрос:
у меня есть код, подобный этому:
if ($(this).css("background-color")==="rgb(217, 217, 217)") {
$(this).css("background-color", "#999");
}else{
$(this).css("background-color", "#fff");
}
но bg color rgb (217,217,217) — это эффект изменения цвета при наведении курсора мыши…
когда я меняю цвет bg моего div ….. —> jquery добавляет «style=» … » атрибут в мой DIV,
но после этого мой код наведения курсора css больше не работает, потому что атрибут «style» блокирует мой атрибут «class»…
Итак, как я могу изменить атрибуты класса jquery CSS, не добавляя атрибут style = «» непосредственно в мой DIV?
Спасибо за любую помощь
это моя демонстрационная версия fiddle
https://jsfiddle.net/qcvcga8k/24/
пожалуйста, нажмите на имя «Мануэль Нойер» (1-й в списке) и после того, как BG изменился на серый, нажмите еще раз на имя …. BG снова меняется на белый, НО эффект наведения отсутствует…
я был бы очень рад, если у вас есть какие-либо подсказки для меня 😉
Спасибо
Алекс
Комментарии:
1. Сделайте стиль классом и выполняйте
$(this).addClass('myClass');
вместо того, чтобы делать это с.css(...)
2. это не было целью! но я нашел решение с этим здесь: $ (this).attr(‘class’, ‘greyRow’); ———> Спасибо за вашу помощь!
3. Извините, что вмешиваюсь, но
$(this).attr('class', 'greyRow');
неэффективно используется jQuery, у которого есть специальные методы для управления значениями класса.
Ответ №1:
Определите класс CSS для этого в <style>
элементе:
tr:selected { background-color: #999 }
Затем замените свой код:
if ($(this).css("background-color")==="rgb(217, 217, 217)") {
$(this).css("background-color", "#999");
}else{
$(this).css("background-color", "#fff");
}
с помощью этого:
$(this).toggle('.selected');