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

如何统计指定元素前class为apple的元素出现次数(不使用jQuery)

纯原生JavaScript实现统计目标元素前同class元素数量

当然可以用纯原生JavaScript实现,下面提供两种实用方法:

方法一:向前遍历兄弟元素计数

先获取目标元素,再逐个向前查找兄弟元素,统计其中class为apple的元素数量:

// 获取id为MyElement的目标元素
const targetElement = document.getElementById('MyElement');
let count = 0;
let current = targetElement.previousElementSibling;

// 循环遍历所有前置兄弟元素
while (current) {
  if (current.classList.contains('apple')) {
    count++;
  }
  current = current.previousElementSibling;
}

// count就是目标元素前的apple元素数量
console.log(count);
// 后续可通过document.getElementsByClassName('apple')[count]访问目标元素

方法二:利用元素集合的索引直接获取

document.getElementsByClassName()返回的HTMLCollection是按文档顺序排列的,目标元素在这个集合中的索引,恰好就是它前面同class元素的数量,直接遍历集合找到索引即可:

const appleElements = document.getElementsByClassName('apple');
const targetElement = document.getElementById('MyElement');
let targetIndex = -1;

// 遍历集合匹配目标元素
for (let i = 0; i < appleElements.length; i++) {
  if (appleElements[i] === targetElement) {
    targetIndex = i;
    break;
  }
}

// targetIndex即为目标元素前的apple元素数量
console.log(targetIndex);
// 直接用appleElements[targetIndex]就能访问目标元素,无需额外计数

第二种方法更高效直接,既得到了计数,又能直接通过索引操作目标元素,适合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 06:03:14