You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery统计动态添加item元素数量异常:为何$('#item').length始终返回1?

问题原因与解决方法

问题原因

  • HTML规范明确规定,id 是页面元素的唯一标识,同一个页面内不允许存在多个拥有相同 id 的元素。
  • jQuery 的 $('#item') 选择器只会匹配页面中第一个带有该 id 的元素,所以无论你动态添加多少个相同 id 的 div,length 始终返回 1。

正确获取元素数量的方法

推荐方案(符合HTML规范)

  1. 修改动态模板:将每个待添加的 div 的 id="item" 改为 class="item"。
  2. 使用类选择器统计数量:
    var num = $('.item').length;
    alert(num);
    

不推荐的临时方案(违反规范)

如果因特殊需求必须保留 id="item",可以用属性选择器匹配所有对应元素,但这种写法不符合HTML标准,可能引发其他逻辑或兼容性问题:

var num = $('[id="item"]').length;
alert(num);

内容的提问来源于stack exchange,提问作者Kelvin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 02:22:49