Переопределение! Важно с 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>