CSS! Важный не работает в jQuery / Firefox 3.x - PullRequest
5 голосов
/ 02 мая 2011

См. Скрипту: http://jsfiddle.net/csaltyj/P2sLa/

В Chrome это работает нормально, но в Firefox - нет, и выдает предупреждение Javascript.Я знаю, что здесь здесь не нужно! Important, но у меня есть крупномасштабный проект, в котором это необходимо, и это приводит к краху Firefox.Есть идеи?

1 Ответ

11 голосов
/ 02 мая 2011

При поиске «jquery css важное» появилось сообщение в блоге, объясняющее «проблему» .
Я опубликую некоторую дополнительную информацию, но, если коротко, вотваше решение :

$('#set-bg').click(function() {
    $('#box').css('cssText', 'background: blue !important');
});

Автор заявляет, что:

Это не ошибка, а то, что большинство браузеров не признает необходимость, поскольку встроенный стиль уже естьсамый высокий приоритет, кроме определенных пользователем.(если вы не хотите, чтобы ваш пользователь изменил способ просмотра вашего сайта).

Обратите внимание, что использование cssText имеет один недостаток, и вы можете рассмотреть возможность использования
с помощью cssRules вместо:

cssText перезапишет CSS этого конкретного элемента.Следовательно, вам придется заново объявлять правило для этого конкретного элемента.

Со всем, что сказано.Пожалуйста, послушайте резюме автора:

Использование! Важное в CSS не рекомендуется, так как это может убить удобство использования вашей сети.Кроме того, нет причины, по которой следует использовать! Important, поскольку встроенное моделирование уже имеет наивысший приоритет.Следовательно, вы, возможно, захотите пересмотреть применение! Важное к вашему сценарию, подумав о последствиях, которые могут быть куплены для ваших пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...