2

クラスの css 属性の値を変更する必要があります。document.styleSheets[i].rules と cssRules を使用してスタイルシート データにアクセスし、https://stackoverflow で説明されているようにスタイル プロパティで各属性を変更できることを発見しました。 com/a/324533/826472

これは良い考えですか、それとも jQuery で $(".class-name").style("attribute", "value") を実行する必要がありますか?

最初の解決策は巧妙に見えますが、よくわかりません。それほど頻繁に(まったく)見たことがなく、インスペクターに変更が表示されません(計算されたペインでのみ)

4

3 に答える 3

3

jQueryを使用できるのであれば、jQueryを使用するのはかなり良いことだと思います。リンクの例は、スタイルを変更するのではなく、出力しているように見えます。

$(".class-name").css("attribute", "value")

あなたが望むものです。

于 2013-02-05T16:57:43.887 に答える
0
var someval = 144;
$('#id').css({'left':someval +'px'});
$('h3').css('color':'red');

ここをクリック!_

これを使って。大好きです。

インラインスタイルをその場でマークアップにドロップし、機能します。動的ルールを適用したい場合-これは確かに最善の策です。

さらに、より保守しやすいので、より良い方法があり.addClassます.removeClass

于 2013-02-05T17:00:03.530 に答える
0

jQuery を使用して既存の CSS ルールを変更することはできません。jQuery は、選択した要素のインライン スタイルのみに影響するため、事後に新しい要素をページにロードすると、元のスタイルシートからスタイルが継承されます。

既存のスタイルシートを編集することが目的の場合、唯一の選択肢は CSS オブジェクト モデル (例:cssRulesなど) を使用することです。これらの CSS ルールをプログラムで定義した後は、Chrome インスペクターではこれらの CSS ルールを編集できないことに注意してください。読み取り専用として表示されるだけです (ただし、計算されたペインの外に表示されます)。

css.jsJSSなどの軽量ライブラリを使用すると、問題を解決できます。

于 2013-02-05T17:11:11.430 に答える