【发布时间】:2016-06-15 19:38:25
【问题描述】:
在 jQuery 中使用选择器时,我遇到了在变量中发现的转义字符(即句点)的问题。我打算把这些都写出来,但在 Chrome 中截取我的控制台窗口更容易。
看起来变量和明文版本匹配。我希望 $('#'+escName) 返回 div,就像 $('#jeffrey\\.lamb') 返回一个 div 一样。它不是。为什么?
【问题讨论】:
-
看起来您在
escName中添加了太多反斜杠。它应该只是"jeffrey\\.lamb"你只需要在.之前的字符串中添加一个反斜杠,以便 jQuery/Sizzle 将其识别为转义。 -
这是我尝试的第一件事。我曾经(我认为是在 perl 中)在变量中使用时必须逃避转义,所以我也试了一下。
-
它对我有用。请edit您的问题并提供Minimal, Complete, and Verifiable example。
-
@Pointy,你是对的。定义变量时,我不得不双重转义。这导致变量被单独转义。 jQuery 然后只需要一个反斜杠就可以正确使用该变量。谢谢你。如果您添加答案,我会接受。
标签: javascript jquery escaping