This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for the proper prefixes to use in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the spec changes.
The CSS.escape()
static method returns a DOMString
containing the escaped string passed as parameter, mostly for use as part of a CSS selector.
Syntax
escapedStr = CSS.escape(str);
Parameters
- str
- The
DOMString
to be escaped.
Examples
Basic results
CSS.escape(".foo#bar") // "\.foo\#bar" CSS.escape("()[]{}") // "\(\)\[\]\{\}" CSS.escape('--a') // "--a" CSS.escape(0) // "\30 ", the Unicode code point of '0' is 30 CSS.escape('\0') // InvalidCharacterError
In context uses
To escape a string for use as part of a selector, the escape()
method can be used:
var element = document.querySelector('#' + CSS.escape(id) + ' > img');
The escape()
method can also be used for escaping strings, although it escapes characters that don't strictly need to be escaped:
var element = document.querySelector('a[href="#' + CSS.escape(fragment) + '"]');
Specification
Specification | Status | Comment |
---|---|---|
CSS Object Model (CSSOM) The definition of 'CSS.escape()' in that specification. |
Working Draft | Initial definition |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 46.0 | 31 (31)[1] | Not supported | Not supported | Not supported |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | Not supported | 46.0 | 31.0 (31)[1] | Not supported | Not supported | Not supported | 46.0 |
[1] Minor changes has been made in Firefox 32, to match the spec and the evolution of the CSS syntax. The identifier now can begins with '--'
and the second dash must not be escaped. Also vendor identifier are no more escaped.
See also
- The
CSS
interface where this static method resides. - A polyfill for the CSS.escape