2.5.1 选择器中含有特殊符号的注意事项

2.5.1  选择器中含有特殊符号的注意事项 

1.选择器中含有".","#","("或"]"等特殊字符 

根据W3C 的规定,属性值是不能含有这些特殊字符的,但在实际项目中偶尔会遇到表达式中含有

"#"和"."等特殊字符 

决此类错误的方法是使用转义符转义:

HTML代码如下:

<div id="id#b">bb</div>
<div id="id[1]">cc</div>

如果按照普通的方式来获取,例如:

$('#id#b');

$('#id[1]');


node2:/var/www/html#cat a38.html 
<div id="id#b">bb</div>
<div id="id[1]">cc</div>
<script type="text/javascript" src="jquery-2.2.2.min.js"></script>    
<script type="text/javascript" src="a38.js"></script>



node2:/var/www/html#cat a38.html 
<div id="id#b">bb</div>
<div id="id[1]">cc</div>
<div id="xx">dd</div>
<div id="ff">ff</div>
<script type="text/javascript" src="jquery-2.2.2.min.js"></script>    
<script type="text/javascript" src="a38.js"></script>


node2:/var/www/html#cat a38.js
$('#id#b')
.css("background","#bbffaa");
node2:/var/www/html#

以上代码不能获取到元素,正确的写法如下:

$('#id\#b');;  //转义特殊字符"#"

$('#id\[1\]');  //转义特殊字符"[]"

由于jQuery1.3.1 改变了选择器的引擎,在某些特殊情况下,导致转义失败 

原文地址:https://www.cnblogs.com/hzcya1995/p/13349164.html