This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The CSS.escape() static method returns a DOMString containing the escaped string passed as parameter, mostly for use as part of a CSS selector.


escapedStr = CSS.escape(str);


The DOMString to be escaped.


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')              // "\ufffd", the Unicode REPLACEMENT CHARACTER

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 Status Comment
CSS Object Model (CSSOM)
The definition of 'CSS.escape()' in that specification.
Working Draft Initial definition

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 46.0 31 (31)[1] No support No support 10
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support 46.0 31.0 (31)[1] No support No support No support 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

Document Tags and Contributors

 Contributors to this page: merih, eugeneford, jpmedley, Sebastianz, Sheppy, yisibl, fscholz, cvrebert, teoli, ziyunfei
 Last updated by: merih,