CSSStyleSheet: replace() 方法
CSSStyleSheet 介面的 replace() 方法會非同步地用傳入的內容替換樣式表的現有內容。該方法返回一個解析為 CSSStyleSheet 物件的 Promise。
replace() 和 CSSStyleSheet.replaceSync() 方法只能用於使用 CSSStyleSheet() 建構函式建立的樣式表。
語法
js
replace(text)
引數
返回值
一個 Promise,它會解析為 CSSStyleSheet 物件。
異常
NotAllowedErrorDOMException-
在滿足以下兩種條件之一時丟擲
- 樣式表不是使用
CSSStyleSheet()建構函式建立的。 - 樣式表被標記為不可修改。
- 樣式表不是使用
示例
在下面的示例中,建立了一個新的樣式表,並使用 replace() 添加了兩條 CSS 規則。然後,第一條規則被列印到控制檯,輸出結果為:body { font-size: 1.4em; }
js
const stylesheet = new CSSStyleSheet();
stylesheet
.replace("body { font-size: 1.4em; } p { color: red; }")
.then(() => {
console.log(stylesheet.cssRules[0].cssText);
})
.catch((err) => {
console.error("Failed to replace styles:", err);
});
規範
| 規範 |
|---|
| CSS 物件模型 (CSSOM) # dom-cssstylesheet-replace |
瀏覽器相容性
載入中…
另見
- 可構造樣式表 (web.dev)
- 使用 Shadow DOM