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

如何用JavaScript移除表格行日期并过滤非当日记录

解决方案

要实现你的需求,我们可以通过定位表格行+日期匹配+文本处理的方式完成,完全不需要依赖动态生成的td id/class,具体代码和步骤如下:

核心思路

  1. 利用表格固定的id="iFlightTable"获取所有数据行
  2. 生成和td中格式一致的当日日期字符串(MM-DD-YY)
  3. 遍历每一行,提取第4个td中的时间和日期内容
  4. 过滤移除非当日行,同时保留时间、清除日期文本

完整代码

// 获取表格内所有数据行
const tableRows = document.querySelectorAll('#iFlightTable tbody tr');
// 生成当日的MM-DD-YY格式字符串(匹配td中的日期格式)
const today = new Date();
const formattedToday = `${String(today.getMonth() + 1).padStart(2, '0')}-${String(today.getDate()).padStart(2, '0')}-${String(today.getFullYear()).slice(-2)}`;

// 遍历处理每一行
Array.from(tableRows).forEach(row => {
  // 定位到时间+日期所在的第4个td(索引从0开始计数)
  const timeDateTd = row.querySelectorAll('td')[3];
  if (!timeDateTd) return; // 容错:结构异常时跳过该行

  // 分割时间和日期(td内用 分隔,对应Unicode编码\xa0)
  const [timePart, datePart] = timeDateTd.textContent.trim().split('\xa0');
  if (!datePart) return;

  // 判断是否为当日记录
  if (datePart !== formattedToday) {
    // 移除非当日行
    row.remove();
  } else {
    // 仅保留时间部分,替换td内容
    timeDateTd.textContent = timePart.trim();
  }
});

关键细节说明

  • 无依赖定位:通过表格固定ID和td索引定位目标列,完全避开动态生成的id/class
  • 日期格式匹配:严格对齐td中的MM-DD-YY格式,确保过滤逻辑准确
  • 实体处理:用\xa0替代 进行分割,避免HTML实体对文本处理的干扰
  • 容错机制:加入空值判断,防止表格结构异常导致代码报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:35:19