jquery 冒号转义 为什么双斜杠



jquery 冒号转义 为什么双斜杠 5

下面是jquery api中的代码片段:
HTML 代码:
<span id="foo:bar"></span>
<span id="foo[bar]"></span>
<span id="foo.bar"></span>
jQuery 代码:
#foo\\:bar
#foo\\[bar\\]
#foo\\.bar

jQuery 代码中转义 . [ ] : 都用了两个\\ 为什么需要两个\\ ?用一个\为什么不行?
如果用 #foo\\:bar 取到的应该是#foo\:bar啊? 希望高手能解答下
收起
asdqwe071  |  浏览 9358 次   问题未开放回答  |举报
推荐于2016-05-14 13:09:20 最佳答案

\\:   

  1.  : 需要转移 所以用 \:

  2. 当上述写完后,\ 需要再次转移。所以就要写成\\:

周连双  | 工程师向TA咨询

擅长: IT

其他回答

举例说明:$('#foo\\:bar')
jQuery的选择器需要对 : 进行转义, : 需要写成 \:
但是你可以看出 '#foo\:bar' 是一个字符串,那么这个字符串中的所有 \ 都应该被转义,所以 \: 就应该写成\\:

代码经过javascript的解析器解析后少掉一个,被jquery的解析器解析后又少掉一个。
追问
解析两次?javascript和jquery各解析一次? 那么顺序呢? 我之前一直以为解析一次 各式在什么时候解析的呢?
追答
$() 这个是jquery的function,字符串常量是传递给这个function的。
字符串先被javascript解析,然后当成参数传递给 $() 这个jquery的function,jquery这个function内部再对这个字符串进行处理。
 本回答被提问者采纳
nullobject    |  推荐于2016-09-09 07:18:11
举报|  评论 
23  0

jquery 冒号转义 为什么双斜杠 5

下面是jquery api中的代码片段:
HTML 代码:
<span id="foo:bar"></span>
<span id="foo[bar]"></span>
<span id="foo.bar"></span>
jQuery 代码:
#foo\\:bar
#foo\\[bar\\]
#foo\\.bar

jQuery 代码中转义 . [ ] : 都用了两个\\ 为什么需要两个\\ ?用一个\为什么不行?
如果用 #foo\\:bar 取到的应该是#foo\:bar啊? 希望高手能解答下
收起
asdqwe071  |  浏览 9358 次   问题未开放回答  |举报
推荐于2016-05-14 13:09:20 最佳答案

\\:   

  1.  : 需要转移 所以用 \:

  2. 当上述写完后,\ 需要再次转移。所以就要写成\\:

周连双  | 工程师向TA咨询

擅长: IT

其他回答

举例说明:$('#foo\\:bar')
jQuery的选择器需要对 : 进行转义, : 需要写成 \:
但是你可以看出 '#foo\:bar' 是一个字符串,那么这个字符串中的所有 \ 都应该被转义,所以 \: 就应该写成\\:

代码经过javascript的解析器解析后少掉一个,被jquery的解析器解析后又少掉一个。
追问
解析两次?javascript和jquery各解析一次? 那么顺序呢? 我之前一直以为解析一次 各式在什么时候解析的呢?
追答
$() 这个是jquery的function,字符串常量是传递给这个function的。
字符串先被javascript解析,然后当成参数传递给 $() 这个jquery的function,jquery这个function内部再对这个字符串进行处理。
 本回答被提问者采纳
nullobject    |  推荐于2016-09-09 07:18:11
举报|  评论 
23  0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值