我在这个Fiddle中有下表.
正如您所看到的,这是一个表格每行两列,并且该表格将来将会更新,包含更多两行列。
我的目标是使用搜索过滤器在表格顶部显示行。您可以在 Fiddle 中看到此功能。如果您键入:“每周”,则会出现“每日”和“每周”行。但首先是每日,而不是每周。
但是我想要的是每次我找到带有某个单词的单元格时我希望它出现在表格的第一个单元格中。在这种情况下,如果我搜索“每周”,我希望它位于第一行的第一个单元格中。
如何使用 JavaScript 做到这一点?在这里我将让我的 Javascript 代码(也在 Fiddle 中):
function search() {
var input, checkfilter, filter, table, tr, td, i;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
table = document.getElementById("myTable");
tr = table.getElementsByTagName("tr");
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
td1 = tr[i].getElementsByTagName("td")[1];
if (td || td1) {
if (td.innerHTML.toUpperCase().indexOf(filter) > -1
|| td1.innerHTML.toUpperCase().indexOf(filter) > -1){
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
非常感谢您的帮助。我真的很感谢 Stackoverflow 所做的工作。
最佳答案
我不明白你是在提出问题还是在提出解决方案?
getElementById('foobar')
是一种操作 DOM 中对象的方法。例如,这是我用来快速设置 PR 模板的东西:
function () {
var e = document.getElementById('pull_request_body');
if (e) {
e.value += 'Insert pull request template here';
}
};
关于javascript - 如何使用 JavaScript 搜索 HTML 表格中的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45109572/