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

JavaScript如何实现点击按钮仅操作对应HTML元素的独立计数功能?

问题原因

  • 每次点击会遍历所有.display-num元素,导致三个容器的数值被同步修改,没有限定只修改当前点击按钮所属容器的数值
  • 每次点击都将计数初始值设为0,没有读取当前span里已有的数值,无法实现累加/累减效果

修正后的JS代码

function $(query) {
    return document.querySelector(query);
}
function $All(query) {
    return document.querySelectorAll(query);
}
const box = $All('.box');

box.forEach((e) => {
    e.addEventListener('click', (el) => {
        // 仅获取当前点击的box内的数字展示元素
        const currentDisplay = e.querySelector('.display-num');
        // 读取当前数值并转为数字类型
        let num = parseInt(currentDisplay.innerHTML);
        if (el.target.classList.contains('plus-btn')) {
            currentDisplay.innerHTML = num + 1;
        } else if (el.target.classList.contains('minus-btn')) {
            // 如果需要限制数值不能为负,可改为 currentDisplay.innerHTML = Math.max(num - 1, 0)
            currentDisplay.innerHTML = num - 1;
        }
    }, false)
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:36:06