files/en-us/web/api/stylesheetlist/index.md
{{APIRef("CSSOM")}}
The StyleSheetList interface represents a list of {{domxref("CSSStyleSheet")}} objects. An instance of this object can be returned by {{domxref("Document.styleSheets")}}.
It is an array-like object but can't be iterated over using {{jsxref("Array")}} methods. However it can be iterated over in a standard {{jsxref("Statements/for", "for")}} loop over its indices, or converted to an {{jsxref("Array")}}.
[!NOTE] Typically list interfaces like
StyleSheetListwrap around {{jsxref("Array")}} types, so you can useArraymethods on them. This is not the case here for historical reasons. However, you can convertStyleSheetListto anArrayin order to use those methods (see the example below).
null if no item exists for that index.for (const styleSheet of document.styleSheets) {
console.log(styleSheet); // A CSSStyleSheet object
}
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,
);
return undefined;
}
})
.filter(Boolean)
.join("\n");
{{Specifications}}
{{Compat}}