ObsoleteThis feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
The obsolete CSSStyleSheet
interface's addRule()
legacy method adds a new rule to the stylesheet. You should avoid using this method, and should instead use the more standard insertRule()
method.
Syntax
var result = cssStyleSheet.addRule(selector, styleBlock, index);
Parameters
selector
- A
DOMString
specifying the selector portion of the CSS rule. The default is the stringundefined
. styleBlock
- A
DOMString
indicating the style block to apply to elements matching theselector
. The default is the stringundefined
. index
Optional- An optional index into the stylesheet's
CSSRuleList
at which to insert the new rule. Ifindex
is not specified, the next index after the last item currently in the list is used (that is, the value ofcssStyleSheet.cssRules.length
).
Return value
Always returns -1.
Note that due to somewhat estoteric rules about where you can legally insert rules, it's possible that an exception may be thrown. See insertRule()
for more information.
Usage notes
This method is implemented by browsers by constructing a string using the template literal `${selector}{${styleBlock}}`
, then passing it into the standard insertRule()
method.
Therefore, given existing code such as the following:
cssStyleSheet.addRule(selector, styles, 0);
You can rewrite this to use the more standard insertRule()
like this:
cssStyleSheet.insertRule(`${selector} {${styles}}`, 0);
Specifications
Specification | Status | Comment |
CSS Object Model (CSSOM)The definition of 'CSSStyleSheet.addRule()' in that specification. | Working Draft |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Chrome
Full support Yes |
Edge
Full support 12 |
Firefox
Full support 68 |
IE
Full support 9 |
Opera
Full support Yes |
Safari
Full support Yes |
WebView Android
Full support Yes |
Chrome Android
Full support Yes |
Firefox Android
Full support 68 |
Opera Android
Full support Yes |
Safari iOS
Full support Yes |
Samsung Internet Android
Full support Yes |
Legend
- Full support
- Full support
- Deprecated. Not for use in new websites.'
- Deprecated. Not for use in new websites.
See also
CSSStyleSheet.addRule() by Mozilla Contributors is licensed under CC-BY-SA 2.5.