CSSStyleSheet: addRule() 方法

已弃用: 此功能不再推荐。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被删除的过程中,或者可能仅出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请查看此页面底部的兼容性表以指导您的决定。请注意,此功能可能随时停止工作。

过时的 CSSStyleSheet 接口的 addRule() 旧方法 在样式表中添加一个新规则。您应该避免使用此方法,而应使用更标准的 insertRule() 方法。

语法

js
addRule(selector, styleBlock, index)

参数

selector

指定 CSS 规则的选择器部分的字符串。默认值为字符串 undefined

styleBlock

一个字符串,指示要应用于与 selector 匹配的元素的样式块。默认值为字符串 undefined

index 可选

在样式表的 CSSRuleList 中插入新规则的可选索引。如果未指定 index,则使用列表中最后一个项目之后的下一个索引(即 cssStyleSheet.cssRules.length 的值)。

返回值

始终返回 -1。

请注意,由于有关您可以在何处合法插入规则的某些深奥规则,因此可能会抛出异常。有关更多信息,请参阅 insertRule()

使用说明

此方法由浏览器通过使用模板文字 `${selector}{${styleBlock}}` 构造一个字符串来实现,然后将其传递到标准的 insertRule() 方法中。

因此,给定以下现有代码

js
cssStyleSheet.addRule(selector, styles, 0);

您可以将其重写为使用更标准的 insertRule(),如下所示

js
cssStyleSheet.insertRule(`${selector} {${styles}}`, 0);

规范

规范
CSS 对象模型 (CSSOM)
# dom-cssstylesheet-addrule

浏览器兼容性

BCD 表仅在启用了 JavaScript 的浏览器中加载。

另请参阅