(これはchrome拡張機能でコンテンツスクリプトを使用しています)
Webページで!important
とラベル付けされているcssプロパティを上書きする必要があります。これは可能ですか?
たとえば、重要とラベル付けされた境界線を取り除きたい場合:
$(".someclass").css('border','none'); //does not work
どうぞ:
$( '.someclass' ).each(function () {
this.style.setProperty( 'border', 'none', 'important' );
});
ライブデモ:http://jsfiddle.net/Gtr54/
要素のstyle
オブジェクトの.setProperty
メソッドを使用すると、優先度を表す3番目の引数を渡すことができます。したがって、!important値を独自の!important値でオーバーライドしています。私の知る限り、jQueryで!important優先度を設定することはできないため、唯一のオプションは組み込みの.setProperty
メソッドです。
これを行うこともできます:
$(".someclass").css("cssText", "border: none !important;");
これが役立つはずです。
$(".someclass").attr("style","border:none!important");
すべてのスタイルを上書きしないように更新されました:
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;");
jqueryを使用してクラスを追加できます
$("someclass").addClass("test");
<style>
.test{
border:none !important;
}
</style>