Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

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

Document Tags and Contributors

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