56

(これは、Chrome 拡張機能でコンテンツ スクリプトを使用しています)

Web ページでラベルが付けられているいくつかの css プロパティを上書きする必要があります!important。これは可能ですか?

たとえば、重要とラベル付けされた境界線を取り除きたい場合:

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

5 に答える 5

124

どうぞ:

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

ライブデモ: http://jsfiddle.net/Gtr54/

.setProperty要素のオブジェクトのメソッドによりstyle、優先度を表す 3 番目の引数を渡すことができます。したがって、!important 値を独自の !important 値でオーバーライドしています。私の知る限り、jQuery で !important の優先度を設定することはできないため、唯一のオプションは組み込み.setPropertyメソッドです。

于 2012-08-15T01:31:17.873 に答える
51

これを行うこともできます:

$(".someclass").css("cssText", "border: none !important;");
于 2014-09-12T23:34:37.970 に答える
13

これは役立つはずです。

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

すべてのスタイルを上書きしないように更新:

var existingStyles = $(".someclass").attr("style");
$(".someclass").attr("style", existingStyles+"border:none!important");
于 2017-11-15T09:02:17.077 に答える
0

別の方法もあります

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

css("cssText", "色: 赤!重要;");

于 2015-02-24T12:16:47.813 に答える