From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/ja/web/api/stylesheetlist/index.html | 63 ++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 files/ja/web/api/stylesheetlist/index.html (limited to 'files/ja/web/api/stylesheetlist') diff --git a/files/ja/web/api/stylesheetlist/index.html b/files/ja/web/api/stylesheetlist/index.html new file mode 100644 index 0000000000..725f968a59 --- /dev/null +++ b/files/ja/web/api/stylesheetlist/index.html @@ -0,0 +1,63 @@ +--- +title: StyleSheetList +slug: Web/API/StyleSheetList +tags: + - API + - CSSOM + - NeedsContent + - NeedsUpdate +translation_of: Web/API/StyleSheetList +--- +
{{APIRef("CSSOM")}}
+ +

StyleSheetList インターフェイスは {{domxref("StyleSheet")}} のリストを表します。

+ +

これは配列風のオブジェクトですが、 {{jsxref("Array")}} のメソッドを適用しての反復処理はできません。しかし標準の {{jsxref("Statements/for", "for")}} ループと添字による反復処理、もしくは {{jsxref("Array")}} への変換ができます。

+ +

+ +

for ループを使用して document の styleSheet オブジェクトを取得

+ +
for (let i = 0; i < document.styleSheets.length; i++) {
+  let styleSheet = document.styleSheets[i];
+}
+ +

Array のメソッドを適用してすべての CSS ルールを取得

+ +
const allCSS = [...document.styleSheets]
+  .map(styleSheet => {
+    try {
+      return [...styleSheet.cssRules]
+        .map(rule => rule.cssText)
+        .join('');
+    } catch (e) {
+      console.log('Access to stylesheet %s is denied. Ignoring...', styleSheet.href);
+    }
+  })
+  .filter(Boolean)
+  .join('\n');
+ +

仕様書

+ + + + + + + + + + + + + + + + +
仕様書状態備考
{{SpecName("CSSOM", "#the-stylesheetlist-interface", 'CSSStyleSheetList')}}{{Spec2("CSSOM")}}
+ +

ブラウザーの互換性

+ + + +

{{Compat("api.StyleSheetList")}}

-- cgit v1.2.3-54-g00ecf