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

如何用jQuery获取第二个表格并条件设置TD背景色(值≤5时变红)

解决多表格场景下的jQuery单元格样式设置问题

看来你卡在多表格的精准选择上了——之前的代码只适配单表格页面,现在咱们专门针对第二个表格来写逻辑,一步到位解决你的需求:

首先,定位第二个表格是核心关键。jQuery里的:eq()选择器是按0开始索引的,所以第一个表格对应table:eq(0),第二个就是table:eq(1),用这个就能精准选中目标表格。

接下来,咱们遍历这个表格里的所有<td>,提取括号里的数值并做判断:

// 等待页面DOM完全加载后再执行代码
$(document).ready(function() {
  // 选中页面中的第二个表格
  const targetTable = $('table:eq(1)');
  
  // 遍历表格内的所有TD单元格
  targetTable.find('td').each(function() {
    // 获取当前TD的文本内容
    const tdText = $(this).text();
    // 用正则匹配括号里的数字,捕获组1就是我们要的数值
    const numberMatch = tdText.match(/\((\d+)\)/);
    
    // 先确保匹配到了有效数字,再进行判断
    if (numberMatch) {
      const value = parseInt(numberMatch[1], 10);
      // 当数值≤5时,设置单元格背景色为红色
      if (value <= 5) {
        $(this).css('background-color', 'red');
      }
    }
  });
});

代码细节说明:

  • $(document).ready():避免页面元素还没加载完就执行代码,防止出现找不到表格的情况。
  • table:eq(1):如果之后表格顺序有变动,只要调整括号里的数字就行(比如第三个表格就是eq(2))。
  • 正则/\((\d+)\)/:专门匹配(数字)这种格式,把括号里的数字单独提取出来,方便转成整数做判断。
  • 额外的if (numberMatch)判断:防止有些TD里没有括号的情况,避免代码报错。

如果你的表格是动态加载的(比如通过AJAX渲染),可以把这段代码放到表格加载完成的回调里,或者用$(document).on('DOMContentLoaded', function() { ... })来确保执行时机正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:07:34