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

使用jQuery统计父级tracker下的直接子div数量,计数错误如何解决?

问题原因

你的原有代码逻辑存在偏差:$(this).parents(".tracker > div.item")的作用是查找当前点击元素的所有祖先节点中,符合「是.tracker直接子元素的div.item」的节点。每个点击元素的祖先节点里,只有它自身所在的那1个item符合这个筛选规则,所以运行后永远返回1。

修正后代码
$(document).on("click", ".connect", function(ev) {
  // 定位当前点击元素所属的.tracker父容器
  const currentTracker = $(this).closest(".tracker");
  // 统计该.tracker下直接子div.item的数量
  console.log(currentTracker.children("div.item").length);
});
实现逻辑说明
  • closest(".tracker")方法会从当前点击元素开始向上查找,直到找到第一个匹配.tracker类的父节点,保证定位到正确的所属容器
  • children("div.item")只会筛选目标.tracker的第一级子元素,不会匹配到嵌套在item内部的其他div,统计结果完全符合需求:点击Click1/2/3返回3,点击Click4/5返回2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:15:03