CSS.escape()

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.

SyntaxEdit

escapedStr = CSS.escape(str);

Parameters

str
The DOMString to be escaped.

ExamplesEdit

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) + '"]');

SpecificationEdit

Specification Status Comment
CSS Object Model (CSSOM)
The definition of 'CSS.escape()' in that specification.
Working Draft Initial definition

Browser compatibilityEdit

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 46.0 31 (31)[1] Not supported Not supported Not supported

[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 alsoEdit

Document Tags and Contributors

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