【发布时间】: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