$('#a.b') // doesn't work
document.getElementById('a.b') // works
$('[id="a.b"]') // works
任何人都可以解释为什么$('#a.b')
不起作用。
答案 0 :(得分:1)
使用Jquery时,不要在Id中使用元字符。
.
是一个元字符,选择器将它们视为正则表达式。你需要逃脱才能使它发挥作用。对于前\\.
在这种情况下 -
$('#a\\.b')
Javascript getElementById
也有效,因为它只是一个字符串。
当您以id="a.b"
给出时,它会检查一个值,并且不会被视为元字符。
答案 1 :(得分:0)
jQuery认为它是一个类。因此,您使用转义序列将其写为 -
$('#a\\.b')
答案 2 :(得分:0)
您应该使用转义运算符,如下所示:
$('#a\\.b')
jQuery不允许将元字符作为名称的文字部分,并且必须使用两个反斜杠\\
进行转义。