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

如何使用jQuery正确获取并修改数组存储的对应表格th标签文本值?

问题原因

  • 核心错误是误用了比较运算符:$(this).text() == headerTitleArr[headerIndex]里的==是判断相等的比较运算符,不会执行赋值操作。jQuery的text()方法规则是:不传参数时读取元素文本内容,传入要设置的文本作为参数时,才会修改元素的文本值,你当前的写法只是做了一次无意义的相等判断,自然不会修改页面内容。
  • 另外两个注释的写法本身也存在逻辑错误:
    • $(this).text(headerTitleArr[headerIndex])[thIndex]:text()方法执行后返回的是jQuery对象,加[thIndex]是将jQuery对象转为对应下标的原生DOM元素,此处完全多余,属于无效代码。
    • $(this).css("content", headerTitleArr[headerIndex]):CSS的content属性仅对::before/::after伪元素生效,直接给普通th元素设置该属性不会在页面上渲染对应内容。
  • 额外逻辑问题:你手动写死headerTitleArrLength = 2,但你的数组实际有3个元素,正确的长度应该取headerTitleArr.length,否则会导致最后一个数组元素永远不会被用到,提前重置计数器。

修复方案

直接将赋值行替换为正确的text()设置写法即可,同时修正数组长度的取值逻辑,优化后的完整代码如下:

if (window.matchMedia('(max-width: 2799px)').matches) {
  var headerTitleArr = ["Players","Stamina","Home Runs"];
  var headerIndexCount = 0;
  $("#chart1 tr.table-tr > th").each(function(thIndex) {
    // 正确的文本赋值写法
    $(this).text(headerTitleArr[headerIndexCount]);
    headerIndexCount++;
    // 直接取数组实际长度做判断,不用手动写死
    if (headerIndexCount === headerTitleArr.length) {
      headerIndexCount = 0;
    }
  });
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:24:03