CSS: escape() 静态方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

CSS.escape() 静态方法返回一个字符串,其中包含作为参数传入的已转义字符串,主要用于 CSS 选择器的一部分。

语法

js
CSS.escape(str)

参数

str

要转义的字符串。

返回值

转义后的字符串。

示例

基本结果

js
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

在上下文中使用的例子

为了在选择器中使用一个字符串,可以使用 escape() 方法来转义它。

js
const element = document.querySelector(`#${CSS.escape(id)} > img`);

escape() 方法也可以用于转义字符串,尽管它会转义那些实际上不需要转义的字符。

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

规范

规范
CSS 对象模型 (CSSOM)
# the-css.escape()-method

浏览器兼容性

另见