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 改变了选择器的引擎,在某些特殊情况下,导致转义失败