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 的浏览器中加载。