6

JavaScriptでオブジェクトへの参照があり、のスタイルをにCSSStyleRule更新したいと思います。値を割り当てても問題ありません。値を割り当てると、値は無視されます(つまり、割り当てられません)。border-top-colorred !importantredred !important

myStyleSheetRule.style.borderTopColor = 'red'; // success
myStyleSheetRule.style.borderTopColor = 'red !important'; // fail

!importantフラグを設定するにはどうすればよいですか?

プログラムでアクセスするスタイルシートルールを介して実行する必要があることに注意してください。私のユースケースでは、スタイル属性などを割り当てることはできません。Windows7でChromeを使用しています。

4

3 に答える 3

4

このようなものが動作するはずです:

HTML

<div id="colored">?</div>​​​​​​​​​​​​​​​​​​​​​​​​​

デフォルトのスタイルシート

#colored {
    border-top: 1px solid Black;
}​

Javascript

var all = document.styleSheets,
    s = all[all.length - 1],
    l = s.cssRules.length;

if (s.insertRule) {
    s.insertRule('#colored {border-top-color: Red !important}', l);
} else {
    //IE
    s.addRule('#colored', 'border-top-color: Red !important', -1);
}​
于 2012-07-31T07:27:20.280 に答える
-2

試す:

myStyleSheetRule.setAttribute('style', 'border-top-color:red !important');

これにより、インラインで追加されます。

于 2012-07-31T05:50:31.047 に答える