1

Web ページに複数のstyleタグがありcssRules、それらを操作したいと考えています。スタイル要素からstyleSheetas inオブジェクトを取得するにはどうすればよいですか。方法は、すべてをdocument.styleSheetsスキャンして、要素オブジェクトと一致させることができます。これより良い方法はありますか?styleSheetsdocument.styleSheetsownerNodestyle

4

1 に答える 1

2

http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-style-elementによると、スタイル要素は、参照に従うことで http につながるインターフェイスを実装ますLinkStyle//dev.w3.org/csswg/cssom/#the-linkstyle-interfaceこれは、sheetスタイル要素ごとに ( と同様に<link rel="stylesheet">) アクセスできるプロパティがあることを示します。それらが である限りtext/css、デフォルトです。そこから、探しているより特化した CSSStyleSheet インターフェース (つまり、 を持つものcssRules) を取得できます。

<style>
  p {color:blue;}
</style>
<script>

  var h = document.getElementsByTagName('style')[0];
  alert(h.sheet.cssRules[0].cssText); // "p { color: blue; }"

</script>
于 2013-05-10T13:26:39.287 に答える