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

如何实现通过搜索所有含class="x"的<td>内容过滤表格<tr>行

jQuery表格行过滤:匹配所有class="x"元素内容

解决方案代码

// 监听过滤输入框的输入事件
$('#filter-input').on('input', function() {
  const filterVal = $(this).val().toLowerCase().trim();

  // 遍历表格主体内的每一行
  $('tbody tr').each(function() {
    // 收集当前行所有class="x"元素的文本,拼接成统一字符串
    const rowContent = $(this).find('.x').map(function() {
      return $(this).text().toLowerCase().trim();
    }).get().join(' ');

    // 根据匹配结果控制行的显示/隐藏
    if (filterVal === '' || rowContent.includes(filterVal)) {
      $(this).show();
    } else {
      $(this).hide();
    }
  });
});

关键修改点

  • 放弃原来只取第一个.x元素的逻辑,改用.find('.x')选中当前行内所有带x类的元素
  • 用.map()遍历所有目标元素,提取每个元素的文本内容并做标准化处理(转小写、去首尾空格)
  • 将所有提取的文本拼接成一个完整字符串,再检查输入值是否存在于其中,确保只要任意一个.x元素内容匹配就显示整行
  • 使用input事件替代keyup,能兼容粘贴、输入法联想等更多输入场景

实用提示

  • 若表格有表头行,确保只遍历<tbody>内的行,避免表头被错误过滤
  • 需要区分大小写匹配的话,删除代码中的.toLowerCase()即可
  • 可根据实际HTML结构调整选择器(比如给表格加ID,用#your-table tbody tr更精准)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 20:52:36