首页 新闻 会员 周边

关于jQuery用两个反斜杠转义的疑问!

0
悬赏园豆:50 [已解决问题] 解决于 2012-12-20 15:53

JavaScript一直都是用单个反斜杠来转义特殊字符,但是jQuery都是在包装器内部确实用两个反斜杠,Why?谁能给个具体点的剖析解释?

$('#id\\[1\\]');

GuoShuoHui的主页 GuoShuoHui | 初学一级 | 园豆:71
提问于:2012-12-20 14:24
< >
分享
最佳答案
0

[]是属性选择器,所以要对[]转义,也就是要在[前面加上\,另一个\是对后面\的转义。

收获园豆:50
向往-SONG | 老鸟四级 |园豆:4853 | 2012-12-20 14:55

也就是JavaScript转一次,然后jQuery内部转一次吗?

GuoShuoHui | 园豆:71 (初学一级) | 2012-12-20 15:11

@GuoShuoHui: 

是的

向往-SONG | 园豆:4853 (老鸟四级) | 2012-12-20 15:14

@向往-SONG: 第一次转是被解析成$('#id\[1\]')还是$('#id\\1\\')呢?

GuoShuoHui | 园豆:71 (初学一级) | 2012-12-20 15:15

@GuoShuoHui: 

JavaScript转义后到jQuery内部就是#id\[1\],jQuery检查是否有\,没有就是按属性选择器解释,有就当作id字符串。

向往-SONG | 园豆:4853 (老鸟四级) | 2012-12-20 15:25

@向往-SONG: 可是JS的转义不是从右往左的吗?这样的话好像是#id\\1\\,可是又好像不太对,具体错在哪里?

GuoShuoHui | 园豆:71 (初学一级) | 2012-12-20 15:30

@GuoShuoHui: 

在这里js只是将\转义成"\"啊,其它怎么解析是jq的事

向往-SONG | 园豆:4853 (老鸟四级) | 2012-12-20 15:37

@向往-SONG: 谢谢了!

GuoShuoHui | 园豆:71 (初学一级) | 2012-12-20 15:52
其他回答(1)
0

jquery 还真没有用到过这个\\

chenping2008 | 园豆:9836 (大侠五级) | 2012-12-20 14:27

包装器内的确是用这个,不过我不是很明白!

支持(0) 反对(0) GuoShuoHui | 园豆:71 (初学一级) | 2012-12-20 14:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册