jQuery变量中的转义字符无法正常工作

时间:2016-06-15 19:38:25

标签: javascript jquery escaping

在jQuery中使用选择器时,我遇到了在变量中找到的转义字符(即句点)的问题。我打算全部输入,但是在Chrome中我的控制台窗口截图更容易。

here in the Quickstart

看起来变量和明文版本匹配。我希望$('#'+escName)返回div,就像$('#jeffrey\\.lamb')返回div一样。它不是。为什么呢?

1 个答案:

答案 0 :(得分:1)

您必须考虑将检查字符串值的各个解析器。当然,第一个是JavaScript解析器本身。反斜杠字符在字符串语法中有意义,因此如果您想在字符串中使用单个反斜杠,则需要加倍。

将字符串从源代码解析为内部字符串值之后,接下来要注意其内容(在本例中)是CSS选择器评估程序(Sizzle或本机{{1代码;不确定哪些字符串有这样的转义)。该代码只需要一个反斜杠来引用querySelector,以便它不被解释为引入类名匹配。

因此,在这种情况下,您只需要.