我遇到了无法解释的行为。我想用简单的选择器得到一个元素(id ='address.zipCode):
$('#' + prefix + 'zipCode')
它不起作用。在这种情况下,prefix =='address \\。'。 Chrome控制台调试结果为:
> prefix
"address\\."
> $('#' + prefix + 'zipCode')
[]
最有趣的部分是:
$('#' + "address\\." + 'zipCode')
[<input id="address.zipCode" name="address.zipCode" class="zipCodeMask" type="text" value>]
任何想法都有什么问题?
答案 0 :(得分:3)
从Chrome REPL的行为向后工作(显示字符串的最终值,即无法转义字符),实际上在最后一个字符串中有两个反斜杠。换句话说,您可能已经如此分配prefix
:
var prefix = "address\\\\.";
您实际需要的只是一个反斜杠,这意味着您应该在字符串文字中键入两个反斜杠(一个用于转义):
var prefix = "address\\.";