开发者社区> 问答> 正文

JQuery选择id时只能选到第一个元素

后来我想可能是与这些元素的ID本身有关。

三个元素,id都是select-rule,结果当我$("#select-rule")时,发现只有一个能遍历到。最终我只好用了一个data-group来代替。

是不是JQuery在查询id时,还有别的处理?难道是正则表达式?因为中间有一个-符号所以才不行吗。那就很奇怪,别的属性可以就id这个属性有问题,难道只有查询id时才正则吗。

展开
收起
a123456678 2016-07-12 16:15:33 2622 0
1 条回答
写回答
取消 提交回答
  • 网页里面的id就跟身份证一样,每个元素都不应该相同。原生dom里有getElementById获取的是单个节点,其它如getElementsByClass、getElementsByName等等都是获取的节点集合。jq里面解析以#开头的选择器时,直接使用了getElementById,这个返回的是单个节点,也就是页面里第一个id为参数所给出的那个id的节点。较早之前的版本jq,可以把id当属性来获取元素,即$('[id=select-rule]'),不过不知道最新的版本能不能这么干了。

    当然,最好还是id取唯一值。

    2019-07-17 19:55:09
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载