【问题标题】:selecting Id that do not follow the css syntax选择不遵循 css 语法的 Id
【发布时间】:2018-02-19 10:34:51
【问题描述】:
<div id="foo\bar"></div>
<div id="foo:bar"></div>
document.querySelector('#foo\\\\bar'); // Match the first div

在官方文档中提到要匹配不遵循 CSS 语法的 ID 或选择器(例如不恰当地使用冒号或空格),您必须使用反斜杠转义字符。

由于反斜杠是 JavaScript 中的转义字符,如果您输入的是文字字符串,则必须将其转义两次(一次用于 JavaScript 字符串,另一次用于 querySelector)但在上面的代码中,他们使用了 3 次反斜杠.

我无法理解这个逻辑。

【问题讨论】:

  • “在上面的代码中他们使用了三次反斜杠” 四个
  • 更好地使用 document.getElementById("foo\\bar");

标签: javascript


【解决方案1】:

如果我们需要转义两次,它也会被转义两次:

1. \\\\ -> \\
2. \\ -> \

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-06
    • 2010-11-11
    • 2021-03-21
    • 2017-12-13
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多