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

如何获取filter函数筛选HTML表格后的匹配结果行数?

实现表格筛选后显示匹配行数

先修正你原代码里的两处问题:

  • remoceClass 是拼写错误,正确写法为 removeClass
  • 不要在keyup事件内重复绑定hover事件,否则每次输入都会新增事件监听,导致行为异常,建议把hover事件绑定移到外部一次性处理

下面是实现筛选行数的完整方案:

// 一次性绑定hover事件,避免重复绑定导致的异常
$("#MySearch tr").hover(function(){
    $(this).addClass("hover");
}, function(){
    $(this).removeClass("hover").addClass("on");
});

$("#myInput").on("keyup", function() {
    var value = $(this).val().toLowerCase();
    // 存储筛选后的匹配行集合
    var matchedRows = $("#MySearch tr").filter(function() {
        var isMatch = $(this).text().toLowerCase().indexOf(value) > -1;
        $(this).toggle(isMatch);
        
        if (value !== '') {
            $(this).addClass("on");
        } else {
            $(this).removeClass("on hover");
        }
        return isMatch; // 返回匹配状态,让filter收集所有符合条件的行
    });
    
    // 将筛选行数显示到页面(假设页面有id为resultCount的元素)
    $("#resultCount").text("筛选结果:" + matchedRows.length + " 行");
});

补充说明:

  • filter方法会返回所有回调函数返回true的元素,因此通过matchedRows.length就能直接获取筛选后的行数
  • 若要显示计数,需在页面中添加对应元素,示例代码:
<div id="resultCount"></div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 07:16:33