你的浏览器不支持canvas

做你害怕做的事情,然后你会发现,不过如此。

当html标签id中有点‘.’时,jquery选择器失效

时间: 作者: 黄运鑫

本文章属原创文章,未经作者许可,禁止转载,复制,下载,以及用作商业用途。原作者保留所有解释权。


问题

  • 有一个标签 <div id="aaa.bbb"></div>
  • 当html标签的id中有“.”时,比如id=”aaa.bbb”,用jquer选择器 $(“#aaa.bbb”) 不能选择到标签

  • 查资料发现id命名规则如下:

    1.必须以字母 A-Z 或 a-z 开头
    2.其后的字符:字母(A-Za-z)、数字(0-9)、连字符(“-“)、下划线(“_”)、冒号(“:”) 以及点号(“.”)
    3.值对大小写敏感

  • 所以id的命名没错

原因

  • 因为jquer选择器 $(“#aaa.bbb”) 的意思是,选择id=aaa并且class=bbb的标签,所以选不到

解决办法

  • 代码如下
    //1. 可以用js的方法
    document.getElementById("aaa.bbb"); 
    //2. 使用转义符
    $("#aaa\\.bbb")
    //3. 或者jquery改为
    $("div[id='aaa.bbb']")
    

对于本文内容有问题或建议的小伙伴,欢迎在文章底部留言交流讨论。