(这是在 chrome 扩展中使用内容脚本)
我需要覆盖网页标记为的一些 css 属性!important
。这可能吗?
例如,如果我想去掉标记为重要的边框:
$(".someclass").css('border','none'); //does not work
(这是在 chrome 扩展中使用内容脚本)
我需要覆盖网页标记为的一些 css 属性!important
。这可能吗?
例如,如果我想去掉标记为重要的边框:
$(".someclass").css('border','none'); //does not work
干得好:
$( '.someclass' ).each(function () {
this.style.setProperty( 'border', 'none', 'important' );
});
现场演示:http: //jsfiddle.net/Gtr54/
.setProperty
元素对象的方法style
使您能够传递代表优先级的第三个参数。因此,您正在用自己的 !important 值覆盖 !important 值。据我所知,无法使用 jQuery 设置 !important 优先级,因此您唯一的选择是内置.setProperty
方法。
你也可以这样做:
$(".someclass").css("cssText", "border: none !important;");
This should help.
$(".someclass").attr("style","border:none!important");
Updated, so as not to overwrite all styles:
var existingStyles = $(".someclass").attr("style");
$(".someclass").attr("style", existingStyles+"border:none!important");
还有另一种方式
$("#m_divList tbody").find("tr[data-uid=" + row.uid + "]").find('td').css("cssText", "color: red !important;");
css("cssText", "color: red !important;");
we can just add class using jquery
$("someclass").addClass("test");
<style>
.test{
border:none !important;
}
</style>