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

如何检测td元素是否包含数字9?当前JS代码无输出寻求解决方案

表格数字匹配问题及解决方法

我有一个带数字序号的表格,生成每行序号的代码如下:

<td id="table-number">{{ $loop->index + 1 }}</td>

我想找出表格中数字为9的行,编写了以下JavaScript代码,但没有任何输出:

const number = document.getElementById('table-number');

if(number.textContent.includes('9')) {
    console.log('heyhey');
}

问题原因

  1. ID唯一性限制:循环生成的表格里所有序号单元格都用了同一个table-number ID,getElementById只会返回第一个匹配的元素,无法获取所有行的序号单元格。
  2. 匹配逻辑不精确:includes('9')是模糊匹配,会把19、90这类包含9的数字也纳入匹配,不符合“数字为9”的精确匹配需求。

解决思路

  1. 替换ID为类名:将id="table-number"改为class="table-number",这样可以选中所有序号单元格:
<td class="table-number">{{ $loop->index + 1 }}</td>
  1. 遍历元素并精确匹配:使用querySelectorAll获取所有序号单元格,遍历后将文本转为数字进行精确比较:
const numberCells = document.querySelectorAll('.table-number');

numberCells.forEach(cell => {
    const num = parseInt(cell.textContent.trim(), 10);
    if (num === 9) {
        console.log('找到目标项:', cell);
        // 可在此添加对目标单元格的操作,比如高亮、获取所在行等
    }
});

如果使用jQuery,也可以这样实现:

$('.table-number').filter(function() {
    return parseInt($(this).text().trim(), 10) === 9;
}).each(function() {
    console.log('找到目标项:', $(this));
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 08:32:16