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

当页面'premium'出现10次时为指定div添加类的JS实现求助

实现需求
  • 触发规则:页面所有.listing-package容器内,单词premium累计出现满10次
  • 执行动作:为.submit-post元素添加disabled类
  • 现存问题:原有代码只要检测到任意一个.listing-package内存在premium就直接添加类,未做次数累计判断,不符合预期
原有错误代码
$(document).ready(function() {   
    document.querySelectorAll('.listing-package').forEach(el=>
    {
        if (/premium/.test(el.textContent) )
        { document.querySelector(".submit-post").classList.add("disabled") } 
    })
})
修复后代码
$(document).ready(function() {
    // 初始化premium出现次数计数器
    let premiumTotal = 0;
    // 遍历所有.listing-package容器
    document.querySelectorAll('.listing-package').forEach(el => {
        // 全局匹配当前容器内所有premium关键词,加i可忽略大小写,不需要可删除
        const matches = el.textContent.match(/premium/g);
        if (matches) {
            // 将当前容器内匹配到的次数累加到总计数
            premiumTotal += matches.length;
        }
    })
    // 仅当累计次数达到10次时,才添加目标类名
    if (premiumTotal >= 10) {
        document.querySelector(".submit-post").classList.add("disabled");
    }
})
可选调整

如果需要严格匹配独立的premium单词,避免匹配到类似premiumplan这类包含该字符串的其他词汇,可以将匹配正则替换为/\bpremium\b/g即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 13:42:21