Javascript 选择器串联特性

Javascript 选择器串联特性,javascript,jquery,Javascript,Jquery,我遇到了我无法解释的行为。我想使用简单选择器获取元素(id='address.zipCode'): $('#' + prefix + 'zipCode') 但它不起作用。在本例中,前缀==“地址\\.”。Chrome控制台调试导致: > prefix "address\\." > $('#' + prefix + 'zipCode') [] 最有趣的是: $('#' + "address\\." + 'zipCode') [<input id=​"address

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

 $('#' + prefix + 'zipCode')
但它不起作用。在本例中,前缀==“地址\\.”。Chrome控制台调试导致:

> prefix
  "address\\."

> $('#' + prefix + 'zipCode')
  []
最有趣的是:

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

有什么问题吗?

从Chrome REPL的行为(显示字符串的最终值,即无转义字符)向后操作,您的最终字符串中实际上有两个反斜杠。换句话说,您可能分配了
前缀
,如下所示:

var prefix = "address\\\\.";
您实际上只需要一个反斜杠,这意味着您应该在字符串文本中键入两个反斜杠(一个用于转义):


从Chrome REPL(显示字符串的最终值,即无转义字符)的行为向后操作,您的最终字符串中实际上有两个反斜杠。换句话说,您可能已经分配了
前缀
,如下所示:

var prefix = "address\\\\.";
您实际上只需要一个反斜杠,这意味着您应该在字符串文本中键入两个反斜杠(一个用于转义):


“address\。”
实际上是字符串
address\。
我想。第一个反斜杠转义第二个。所需的选择器是
“#address\.zipCode”
?“最有趣的部分是”你忘了完成那句话了吗?
前缀
实际上有多少反斜杠?如果Chrome有点像Firebug,它看起来有两个反斜杠?(你能把代码贴在你指定的
前缀
的地方吗?)Double\是转义
的正确方法,是的,它确实需要转义。您的代码似乎工作得很好:
“address\。”
实际上是字符串
address\。
我认为。第一个反斜杠转义第二个。是所需的选择器
“\address\.zipCode”
?“最有趣的部分是”你忘了完成那句话了吗?
前缀
实际上有多少反斜杠?如果Chrome有点像Firebug,它看起来有两个反斜杠?(你能把代码贴在你指定的
前缀
的地方吗?)Double\是转义
的正确方法,是的,它确实需要转义。您的代码似乎工作正常: