0

我遇到了我无法解释的行为。我想用简单的选择器获取一个元素(id='address.zipCode)':

 $('#' + prefix + 'zipCode')

它不起作用。在这种情况下,前缀 == 'address\\.'。Chrome 控制台调试结果:

> prefix
  "address\\."

> $('#' + prefix + 'zipCode')
  []

最有趣的部分是:

$('#' + "address\\." + 'zipCode')
[<input id=​"address.zipCode" name=​"address.zipCode" class=​"zipCodeMask" type=​"text" value>​]

有什么想法有什么问题吗?

4

1 回答 1

3

从 Chrome REPL 的行为(显示字符串的最终值,即没有转义字符)开始,您实际上在最终字符串中有两个反斜杠。换句话说,您可能已经prefix这样分配:

var prefix = "address\\\\.";

您实际需要的只是一个反斜杠,这意味着您应该在字符串文字中输入两个反斜杠(一个用于转义):

var prefix = "address\\.";
于 2013-08-15T14:41:25.910 回答