javascript - 如何使用 JavaScript 搜索 HTML 表格中的单元格?

标签 javascript html

我在这个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/

相关文章:

javascript - jQuery on() 与其前身的性能对比 [live()、bind()、delegate()]

javascript - 我想以以下格式动态添加数组中的元素

html - 如何使用 css 在 HTML <i> 标签上插入背景图片?

javascript - 我在 dom <td> 元素中看到一个属性,但无法在 jQuery 中检索它

html - 列数 css 和列分离

jquery - 取决于变量的类元素突出显示

javascript - 使用 mongo 驱动程序在不迭代光标的情况下检索所有文档

javascript - NodeJs - 优化多个if

javascript - Rails & Haml - 将数据传递给 javascript

javascript - 如果滚动页面时调整窗口大小,如何使此效果起作用