W3cubDocs

/Web APIs

CSS: escape() static method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨January 2020⁩.

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

Syntax

CSS.escape(str)

Parameters

str

The string to be escaped.

Return value

The escaped string.

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'); // "\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:

const 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:

const element = document.querySelector(`a[href="#${CSS.escape(fragment)}"]`);

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
escape_static 46 79 31 33 10.1 46 31 33 10.3 5.0 46 10.3

See also

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape_static