删除空行/节点

时间:2017-12-12 08:31:47

标签: javascript html-table

我正在尝试删除表中的空行。我走遍了那些空行。但我不知道如何删除该特定节点。我试图遍历到父节点并删除,但不知何故,它似​​乎显示错误。 empr[e].removeChild(empr[e].rows[et])我在for循环中使用了这个



function emptyrows() {
  var count = 0;
  var empr = document.getElementsByClassName("tide");
  var emlen = document.getElementsByClassName("tide").length;

  alert(emlen);
  for (var e = 0; e < emlen; e++) {
    var emtab = empr[e].rows.length;
    for (var et = 0; et < emtab; et++) {
      if (empr[e].rows[et].innerHTML == "") {

      } else {
        console.log("Nothing Empty");
      }
    }

  }

}
&#13;
<table>
  <tbody>
    <tr>
      <td>1</td>
      <td>Barry</td>
      <td>
        <table class="tide">
          <tr>50</tr>
          <tr>10</tr>
          <tr>200</tr>
        </table>
      </td>
    </tr>
    <tr>
      <td>2</td>
      <td>Allen</td>
      <td>
        <table class="tide">
          <tr>50</tr>
          <tr></tr>
          <tr></tr>
        </table>
      </td>
    </tr>
    <tr>
      <td>3</td>
      <td>Mary</td>
      <td>
        <table class="tide">
          <tr>50</tr>
          <tr>20</tr>
          <tr></tr>
        </table>
      </td>
    </tr>
  </tbody>
</table>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

尝试以下代码,但是您需要将HTML更正为语义(包含在内部)。但是下面的代码应该为您提供有关如何继续的一般想法:

function emptyrows() {
    var tables = document.getElementsByClassName("tide");
    for (var i = 0; i < tables.length; i++) {
        for (var j = 0; j < tables[i].childNodes.length; j++) {
            if (tables[i].childNodes[j].innerHTML === '') {
                tables[i].removeChild(tables[i].childNodes[j]);
            }
        }
    }
}

emptyrows();