CSSStyleSheet: addRule() 方法

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

已废弃的 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

浏览器兼容性

另见