Задать вопрос
@albertalexandrov

Почему $(this).css() работает, а $(this).addClass() — нет?

Здравствуйте!

Почему $(this).css({'background':'yellow'}) работает, а $(this).addClass('list') - нет? Вернее добавляет, но не меняет цвет фона background. Класс list: .list {background:yellow}
  • Вопрос задан
  • 141 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
Stimulate
@Stimulate
могу
.list {background-color: yellow !important;}
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@kvaak
FE
Если добавляет класс, то в jquery все в порядке, проверьте через панель разработчика (F12 or CMD+SHIFT+I), что, скорее всего, есть более приоритетное значение бэкграунда для другого класса этого же элемента, либо он где-то переопределен, либо файл цсс, содержащий это свойство, не подключен. В общем, ищите проблему в стилях
Ответ написан
@choupa
Архитектор (обычный, который строит)
На вид всё правильно, но не мы не видим всей картины. Предполагаю проблемы с каскадом стилей. Первый вариант имеет самый высокий приоритет, а второй — нет. Кто-то перекрывает жёлтый фон класса list. Смотрите в отладчике.
Ответ написан
Комментировать
amorphis
@amorphis
Технолог в Студии Артемия Лебедева
Как и написали выше, скорее всего дело в приоритетах селекторов в css.
Почитать про это можно, например вот тут, или погуглить другие материалы по этой теме.

Вот быстро написанный пример, что бы примерно понимать, о чём идёт речь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы