jquery 冒号转义 为什么双斜杠



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

下面是jquery api中的代码片段:
HTML 代码:



jQuery 代码:
#foo\\:bar
#foo\\[bar\\]
#foo\\.bar

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

\\:   

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

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

jquery 冒号转义 为什么双斜杠_第1张图片

周连双  | 工程师向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 代码:



jQuery 代码:
#foo\\:bar
#foo\\[bar\\]
#foo\\.bar

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

\\:   

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

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

jquery 冒号转义 为什么双斜杠_第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

你可能感兴趣的:(前端开发问题)