3

JavaScriptからCSSRule'を変更することは可能ですか?.selectorTextMDNはそれがゲッター/セッターであると言いますが、それを設定しても効果がないようです...

参照:

https://developer.mozilla.org/en-US/docs/DOM/CSSStyleRule/selectorText?redirectlocale=en-US&redirectslug=DOM%2FcssRule.selectorText

selectionText()は、ルールセットのセレクターのテキスト表現を取得/設定します。

編集:まあ、すべての「ドキュメント」は間違っていて誤解を招くものです。

http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule

attribute DOMString        selectorText;
                                      // raises(DOMException) on setting
4

1 に答える 1

2

いいえ、ブラウザの実装(少なくともFirefoxでは)はこれらを読み取り専用として選択することを選択しているようですselectorText(仕様により、 cssText「NO_MODIFICATION_ALLOWED_ERR:ルールが読み取り専用の場合に発生します)をスローできるという事実によって明らかに許可されています。 ")。

ただし、styleプロパティは変更できます。

<style>
body { background-color: darkblue; }
</style>
<p>abc</p>
<script>
  var stylesheet = document.styleSheets[0]
  stylesheet.cssRules[0].style.color = 'red'; // Will make body red
</script>

ただし、CSSを解析せずに、設定した<style>タグを作成して挿入することで問題を解決innerHTMLできます。

于 2012-09-21T08:12:07.260 に答える