javascript - HTML 查找并停止显示子表

标签 javascript html children

我已经这样做了:

<table id="tabla">
    <tbody>
        <tr><th>row1</th><td>w</td></tr>
        <tr><th>row2</th><td>x</td></tr>
    </tbody>
    <tbody>
        <tr><th>row1</th><td>y</td></tr>
        <tr><th>row2</th><td>z</td></tr>
    </tbody>
</table>

<script type="text/javascript">
    function iterate() {
        var table = document.getElementById("tabla").children;
        for (b=0; b<table.length(); b++) {
            var cells = table[b].children;
            if(cells[0].innerHtml == "row1") {
                if(cells[1].innerHtml == "w") {
                    table[b].style.display="none";
                }
            }
        }
    }
</script>

我的目的是找到表中满足条件的所有子项并停止显示它们。

我的代码无法运行,我不知道为什么。

有人知道吗?

最佳答案

  1. 您的 child table元素是 tbody
  2. 没有length()函数,它是一个属性(只需使用 length )
  3. 没有innerHtml ,你应该使用innerHTML
  4. cells[0]您引用的实际上是行(而不是单元格),所以它是innerHTML == <th>row1</th><td>w</td>

这是对您的代码的修复:

function iterate() {
  var table = document.getElementById("tabla").children;
  for (b=0; b<table.length; b++) {
    var rows = table[b].children;
    for (r=0; r<rows.length;r++) {
      var cells = rows[r].children
      if (cells[0].innerHTML == "row1") {
        if (cells[1].innerHTML == "w") {
          table[b].style.display="none";
        }
      }
    }
  }
}

iterate();
<table id="tabla">
    <tbody>
        <tr><th>row1</th><td>w</td></tr>
        <tr><th>row2</th><td>x</td></tr>
    </tbody>
    <tbody>
        <tr><th>row1</th><td>y</td></tr>
        <tr><th>row2</th><td>z</td></tr>
    </tbody>
</table>

关于javascript - HTML 查找并停止显示子表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40962221/

相关文章:

javascript - AngularJS $http 设置 header

javascript - HTML5 Canvas - 为什么矩形的颜色总是返回黑色?

html - 使用 CSS 自定义类型编号输入的增量箭头

html - 强制 Internet Explorer 在 Edge 中打开网站

javascript - 单击父元素外部的div时如何获取元素子元素中的值JQuery

c++ - 亲子计划

javascript - 在 Google App 脚本中存储数组并将数组打印到 Google Sheets 列

javascript - 如何将 javascript 变量的值替换为表单字段?

javascript - 多次使用一个组件时如何一次触发或检测所有组件 - Ember

PHP - 查找目录是否有子项的最快方法?