Javascript 为什么jquery id选择器不支持特殊字符
使用特殊字符查找元素时,如下面的Javascript 为什么jquery id选择器不支持特殊字符,javascript,jquery,Javascript,Jquery,使用特殊字符查找元素时,如下面的$(“#search@”)将发生异常。如何解决? 我尝试过使用所有特殊字符,但它使用的是*字符,比如$(“#search*”),没有任何错误,但是其他\$%^&(会抛出错误。那么为什么它接受*字符,而另一个字符不接受呢。如果您有id的特殊字符,访问它们时,应使用\\(两个反斜杠)将其转义。但据我所知,这只允许使用html5 如jquery 要使用任何元字符(例如 !“#$%&'()*+,./:;?@[]^`{124;}~)作为名称的文字部分,它必须 使用两个反斜杠
$(“#search@”)
将发生异常。如何解决?
我尝试过使用所有特殊字符,但它使用的是
*
字符,比如$(“#search*”)
,没有任何错误,但是其他\$%^&(
会抛出错误。那么为什么它接受*字符,而另一个字符不接受呢。如果您有id
的特殊字符,访问它们时,应使用\\
(两个反斜杠)将其转义。但据我所知,这只允许使用html5
如jquery
要使用任何元字符(例如
!“#$%&'()*+,./:;?@[]^`{124;}~)作为名称的文字部分,它必须
使用两个反斜杠转义:\。例如,一个元素
id=“foo.bar”,可以使用选择器$(“#foo\.bar”)
警报($(“#搜索\\$”).html();
嘿
试试看
$(“[id='search@']”)。单击(函数(){
$(this.html(this.id)
})
单击
不允许使用许多特殊字符()
通过查找除特殊字符以外的所有字符,仍然可以选择所需内容的一种方法是查看标签的id
中的开头、结尾或某处包含的内容
当然还有其他“剥猫皮”的方法-一些其他选择器选项,例如,只查找
id
或class
的一部分,或者可以在中找到任何其他HTML标记属性。检查id、class、name属性命名的标准方法。可能重复
$('[id^="start-with"]')
$('[id$="ending-part"]')
$('[id*="any-spot-at-all"]')