Id中带冒号,Jquery如何获取

若是id中存在冒号,例如 <p id="aa:bb:cc">我是一个段落</p>css

经过jquery直接使用#id值, 是找不到这个dom对象的,若是想要获取这个id,能够经过如下几种方式:

1、$("#aa\\:bb\\:cc")。 html

       双\\先转义为\, 而后jquery内部操做 \:再转义为:   详细的查看为何,能够参考:http://www.javashuo.com/article/p-yohkzidr-gq.htmljquery

  冒号(:)属于js中不用转义的普通可见字符, "#a:b" === "#a\:b"dom

   "#a\\:b" 为避免css selector伪类标识符号冲突的解法, 通过 js字符串转义,须要两个反斜杠\, 最后在 querySelectorAll接口中,将\:转换为htm

2、$("[id ^= 'aa:bb:cc']") 或者  $("[id = 'aa:bb:cc']") 。 对象

  $("[id ^= 'aa:bb:cc']") 表示id以‘aa:bb:cc’开头的集合;后者表示id等于‘aa:bb:cc’的集合。blog

       对于id中含有冒号的状况, 能够使用"[id^='a:b']"的表写方式, 这种不须要对冒号转义, 由于这种格式不存在冲突的可能。接口

     建议 id可变的状况,都使用"[id^='a:b']"方式。字符串

 

补充:get

3、document.getElementById("aa:bb:cc"); //非jquery方式,万能的获取id的方式

相关文章
相关标签/搜索