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

JS判断p.number内容为0时为父级pledge-box添加自定义类的实现方法

实现方案

你可以使用DOM元素自带的closest()方法完成跨层级父容器查找,该方法会从当前节点出发向上递归遍历所有祖先节点,直到命中指定的选择器为止,完美适配你的需求。

以下是修改后的完整可运行代码:

const leftover = document.querySelectorAll('.number')

leftover.forEach((remaining) => {
  // 清除内容前后空白,避免HTML换行、缩进导致判断失效
  const count = remaining.textContent.trim()
  if (count === '0') {
    // 查找当前p标签对应的pledge-box父容器
    const currentPledgeBox = remaining.closest('.pledge-box')
    // 为父容器添加自定义类,例如售罄状态类可命名为out-of-stock
    currentPledgeBox.classList.add('out-of-stock')
  }
});

补充说明

  • 优先用textContent而非innerHTML读取纯文本内容,可避免标签嵌套、特殊字符转义带来的判断误差
  • 你之前声明的pledgeBox全局变量不需要用到,closest方法已经可以精准定位到对应数值所属的父容器

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:27:02