Wil*_*son 47 css jquery content-script
(这是在chrome扩展中使用内容脚本)
我需要覆盖网页标记为的一些css属性!important.这可能吗?
例如,如果我想摆脱标记为重要的边界:
$(".someclass").css('border','none'); //does not work
Run Code Online (Sandbox Code Playgroud)
Šim*_*das 112
干得好:
$( '.someclass' ).each(function () {
this.style.setProperty( 'border', 'none', 'important' );
});
Run Code Online (Sandbox Code Playgroud)
现场演示: http ://jsfiddle.net/Gtr54/
.setProperty元素style对象的方法使您能够传递表示优先级的第三个参数.所以,你用你自己的重要价值来覆盖一个重要的价值.据我所知,不可能用jQuery设置!important优先级,所以你唯一的选择是内置.setProperty方法.
haw*_*126 48
你也可以这样做:
$(".someclass").css("cssText", "border: none !important;");
Run Code Online (Sandbox Code Playgroud)
这应该有所帮助。
$(".someclass").attr("style","border:none!important");
Run Code Online (Sandbox Code Playgroud)
已更新,以免覆盖所有样式:
var existingStyles = $(".someclass").attr("style");
$(".someclass").attr("style", existingStyles+"border:none!important");
Run Code Online (Sandbox Code Playgroud)