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

如何根据表格Bonus列值动态为<tr>添加bg-*背景类实现行变色

问题原因

你的代码存在两处核心问题导致类无法正常生效:

  1. 基础语法错误:循环生成表格行时,结束标签写为了<tr>而非</tr>,导致行元素渲染异常,类属性无法正常绑定
  2. 逻辑缺失:没有在生成<tr>标签时,根据Bonus等级动态拼接对应的class属性

修复后的完整buildTable函数代码

function buildTable() 
{
    let outputText = '';    

    for (var i = 0; i < storeData.length; i++) 
    {
        let store = storeData[i];
        // 提前计算当前行的bonus等级
        let bonusLevel = findBonus(store.sales);
        // 匹配对应行背景类
        let rowClass = '';
        if(bonusLevel === 'Level 1') {
            rowClass = 'bg-info';
        } else if(bonusLevel === 'Level 2') {
            rowClass = 'bg-warning';
        }
        // 给tr元素绑定class
        outputText += '<tr class="' + rowClass + '">';
        outputText += "<td>" + store.city + "</td>";
        outputText += "<td>" + store.postcode + "</td>";
        outputText += "<td>" + findState(store.postcode) + "</td>";
        outputText += "<td>" + store.manager + "</td>";
        outputText += "<td>" + store.sales + "</td>";
        outputText += "<td>" + bonusLevel + "</td>";
        // 修正闭合标签错误
        outputText += "</tr>";
    }

    document.getElementById("tableBody").innerHTML = outputText;
    return;
}

改动说明

  • 修复了<tr>结束标签的拼写错误,保证表格行可以正常渲染
  • 新增Bonus等级判断逻辑,动态给行元素添加对应的Bootstrap背景类
  • 优化findBonus调用逻辑,同一行仅调用一次,避免重复计算

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:54:00