Переопределение! Важно с css или jquery
(Это использует скрипты содержимого в расширении chrome)
Мне нужно перезаписать некоторые свойства css, которые веб-страница помечена как !important
. Возможно ли это?
Например, если я хочу избавиться от границы, которая имеет важное значение:
$(".someclass").css('border','none'); //does not work
Ответы
Ответ 1
Здесь вы идете:
$( '.someclass' ).each(function () {
this.style.setProperty( 'border', 'none', 'important' );
});
Live demo: http://jsfiddle.net/Gtr54/
Метод .setProperty
объекта style
позволяет вам передать третий аргумент, который представляет приоритет. Таким образом, вы переопределяете важное значение с вашим собственным важным значением. Насколько я знаю, невозможно установить важный приоритет с помощью jQuery, поэтому единственным вариантом является встроенный метод .setProperty
.
Ответ 2
Вы также можете сделать это:
$(".someclass").css("cssText", "border: none !important;");
Ответ 3
Это должно помочь.
$(".someclass").attr("style","border:none!important");
Обновлен, чтобы не перезаписывать все стили:
var existingStyles = $(".someclass").attr("style");
$(".someclass").attr("style", existingStyles+"border:none!important");
Ответ 4
существует и другой способ
$("#m_divList tbody").find("tr[data-uid=" + row.uid + "]").find('td').css("cssText", "color: red !important;");
css ( "cssText", "color: red! important;" );
Ответ 5
мы можем просто добавить класс, используя jquery
$("someclass").addClass("test");
<style>
.test{
border:none !important;
}
</style>