CSSStyleSheet: replace() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2023.
Phương thức replace() của giao diện CSSStyleSheet thay thế bất đồng bộ nội dung của bảng kiểu với nội dung được truyền vào. Phương thức trả về một promise giải quyết với đối tượng CSSStyleSheet.
Các phương thức replace() và CSSStyleSheet.replaceSync() chỉ có thể được sử dụng trên một bảng kiểu được tạo bằng hàm khởi tạo CSSStyleSheet().
Cú pháp
replace(text)
Tham số
text-
Một chuỗi chứa các quy tắc kiểu dáng để thay thế nội dung của bảng kiểu. Nếu chuỗi không chứa một danh sách quy tắc có thể phân tích cú pháp, thì giá trị sẽ được đặt thành một chuỗi rỗng.
Note: Nếu bất kỳ quy tắc nào được truyền trong
textlà một bảng kiểu bên ngoài được nhập bằng quy tắc@import, những quy tắc đó sẽ bị xóa và một cảnh báo sẽ được in ra console.
Giá trị trả về
Một Promise giải quyết với CSSStyleSheet.
Ngoại lệ
NotAllowedErrorDOMException-
Được ném ra nếu một trong hai điều kiện sau được đáp ứng:
- Bảng kiểu không được tạo bằng hàm khởi tạo
CSSStyleSheet(). - Bảng kiểu được đánh dấu là không thể sửa đổi.
- Bảng kiểu không được tạo bằng hàm khởi tạo
Ví dụ
Trong ví dụ sau, một bảng kiểu mới được tạo và hai quy tắc CSS được thêm bằng replace(). Quy tắc đầu tiên sau đó được in ra console, sẽ trả về: body { font-size: 1.4em; }
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("Không thể thay thế kiểu dáng:", err);
});
Specifications
| Specification |
|---|
| CSS Object Model (CSSOM)> # dom-cssstylesheet-replace> |