function myFunction() {
// Declare variables
var input, filter, table, tr, td, i, txtValue, filterelement;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
table = document.getElementById("myTable");
tr = table.getElementsByTagName("tr");
// Loop through all table rows, and hide those who don't match the search query
// Should be offset 1 as first index is the header
for (i = 1; i < tr.length; i++) {
filterelement = true;
for (j = 0; j < tr[i].getElementsByTagName("td").length; j++) {
td = tr[i].getElementsByTagName("td")[j];
txtValue = td.textContent || td.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
filterelement = false;
break;
}
}
if (filterelement) {
tr[i].style.display = "none";
} else {
tr[i].style.display = "";
}
}
};
3条答案
按热度按时间6rvt4ljy1#
好了,这是代码:
//遍历所有表行,隐藏不匹配查询的行
希望有帮助。
rur96b6h2#
我认为你应该为tds加上另一个循环,就像你在trs上做的那样
xjreopfe3#
稍微调整Altaf Khokhar的答案,使用正确的隐藏值,并在找到命中时快速转义。我发现我的头部丢失了,所以我必须将tr索引偏移1。