gpt4 book ai didi

jquery - 在 html 表中搜索

转载 作者:行者123 更新时间:2023-12-03 22:32:43 25 4
gpt4 key购买 nike

我有一个几乎有 5000 行的大表。我正在使用以下 jquery 片段来搜索该表中的特定文本。

function searchTable(inputVal) {

var table = $('.table');

table.find('tr').each(function(index, row) {
var allCells = $(row).find('td');

if(allCells.length > 0) {
var found = false;
allCells.each(function(index, td) {
var regExp = new RegExp(inputVal, 'i');
if(regExp.test($(td).text())) {
found = true;
return false;
}
});

if(found == true) {
$(row).show();
} else {
$(row).hide();
}
}
});
}

现在这个脚本需要一些时间来执行,因为它循环遍历每行的每个单元格。考虑到表格中一行有 6 个单元格,迭代总数几乎是 6*5000=30000!
有任何优化此代码片段的建议吗?

最佳答案

您还可以创建自定义扩展,例如:

// jQuery expression for case-insensitive filter
$.extend($.expr[":"],
{
"contains-ci": function(elem, i, match, array)
{
return (elem.textContent || elem.innerText || $(elem).text() || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
}
});

像这样使用它:

$("#table tbody>tr").hide(); // hides all tr
$("#table td:contains-ci('" + value + "')").parent("tr").show(); // show tr that containt value

这是一个运行示例:http://jsfiddle.net/QvU67/

关于jquery - 在 html 表中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15426111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com