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

jQuery如何选中表格行内多段.is类连续元素的首尾节点?

实现代码

$('.row-months').each((i, row) => {
  // 先重置旧标记,兼容动态更新场景
  $(row).find('.isf, .isl').removeClass('isf isl').addClass('is');
  // 遍历当前行所有单元格
  $(row).children('td').each((idx, cell) => {
    const $cell = $(cell);
    const isCurrentIs = $cell.hasClass('is');
    const $prev = $cell.prev();
    const $next = $cell.next();
    const isPrevIs = $prev.length ? $prev.hasClass('is') : false;
    const isNextIs = $next.length ? $next.hasClass('is') : false;

    // 匹配连续.is段的开头:当前是.is,前一个节点不是.is
    if (isCurrentIs && !isPrevIs) {
      $cell.removeClass('is').addClass('isf');
    }
    // 匹配连续.is段的结尾:当前是.is,后一个节点不是.is
    if (isCurrentIs && !isNextIs) {
      $cell.removeClass('is').addClass('isl');
    }
  })
})

逻辑说明

  • 逐行逐单元格判断状态,不需要提前分组连续.is元素,一次遍历即可完成所有标记,性能开销低
  • 判定规则完全匹配需求:只要相邻节点不带.is类,就判定为连续段的首尾边界,支持任意数量的连续.is段
  • 开头的类名重置逻辑适配表格动态生成、多次更新的场景,不会出现旧标记残留的错误
  • 逻辑完全对齐你原有代码的类名替换规则,不需要修改后续的样式和业务逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:45:04