在ID选择器中,如果选择器中包含特殊字符,可以在jquery中使用两个斜杆对特殊字符进行转义。
例:
html代码
adfasdf
adfasdf
adfasdf
jquery代码
$(function(){
//id中有特殊字符,进行//转义
$('#a\\.b').css('color','red');
$('#a\\:b').css('color','red');
$('#\\[div\\]').css('color','red');
})
在执行jquery()函数时,jquery使用正则表达式来匹配参数值,并判断当前参数是否为ID值。
ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/
而正则表达式对于特殊字符是敏感的,要避免正则表达式被误解,就考虑进行字符转义,在正则表达式字符串中一遍都是通过双斜杠来转义特殊字符。如果直接使用javascript的原生方法getElementById()就不用考虑这个问题。
例:
$(function(){
//直接使用javascript的原生方法getElementById()
document.getElementById("a.b").style.color = 'red';
document.getElementById("a:b").style.color = 'red';
document.getElementById("[div]").style.color = 'red';
})