CSSStyleSheet: cssRules プロパティ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

cssRulesCSSStyleSheet の読み取り専用プロパティで、スタイルシートを構成するすべての CSS ルールについて、リアルタイムで最新のリストを提供する生きた CSSRuleList を返します。リストの各項目は、単一のルールを定義する CSSRule です。

ライブで更新される CSSRuleList で、スタイルシートを構成するすべての CSS ルールを含みます。ルールリストのそれぞれの項目は、スタイルシートを構成する単一のルールを記述する CSSRule オブジェクトです。

スタイルシートの中のそれぞれのルールは、添字でアクセスすることができます。

js
const ruleList = document.styleSheets[0].cssRules;

for (let i = 0; i < ruleList.length; i++) {
  processRule(ruleList[i]);
}

ルールは for...of を使用してアクセスすることもできます。

js
const ruleList = document.styleSheets[0].cssRules;

for (const rule of ruleList) {
  processRule(rule);
}

しかし、 CSSRule は厳密には配列ではないので、 forEach() を使用することはできません。

仕様書

Specification
CSS Object Model (CSSOM)
# dom-cssstylesheet-cssrules

ブラウザーの互換性

BCD tables only load in the browser

関連情報