重写!用CSS或jQuery的重要(Overriding !important with css o

2019-06-17 18:25发布

(这是一个Chrome扩展使用内容脚本)

我需要重写该网页已贴上一些CSS属性!important 。 这可能吗?

举例来说,如果我想摆脱被标记为重要的边界:

$(".someclass").css('border','none'); //does not work

Answer 1:

干得好:

$( '.someclass' ).each(function () {
    this.style.setProperty( 'border', 'none', 'important' );
});

现场演示: http://jsfiddle.net/Gtr54/

.setProperty元素的方法style对象使您能够通过它代表了优先级的第三个参数。 所以,你要覆盖用自己的!重要的价值的!重要的价值。 据我所知,这是不可能的使用jQuery设置!重要的优先事项,所以你唯一的选择是内置.setProperty方法。



Answer 2:

你也可以这样做:

$(".someclass").css("cssText", "border: none !important;");


Answer 3:

这应该帮助。

$(".someclass").attr("style","border:none!important");

更新,以免覆盖所有的风格:

var existingStyles = $(".someclass").attr("style");
$(".someclass").attr("style", existingStyles+"border:none!important");


Answer 4:

也有另一种方式

$("#m_divList tbody").find("tr[data-uid=" + row.uid + "]").find('td').css("cssText", "color: red !important;");

CSS( “cssText”, “颜色:红色重要;!”);



文章来源: Overriding !important with css or jquery