<div id="foo\bar"></div>
<div id="foo:bar"></div>
document.querySelector('#foo\\\\bar'); // Match the first div
在官方文档中提到,要匹配不遵循 CSS 语法的 ID 或选择器(例如不恰本地使用冒号或空格),必须使用反斜杠转义字符。
由于反斜杠是 JavaScript 中的转义字符,如果您要输入文字字符串,则必须将其转义两次(一次用于 JavaScript 字符串,另一次用于 querySelector),但在上面的代码中,他们使用了 3 次反斜杠.
我无法理解这个逻辑。
最佳答案
如果我们需要转义两次,它也会被转义两次:
1. \\\\ -> \\
2. \\ -> \
关于javascript - 选择不遵循 css 语法的 Id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48858631/