删除除具有给定类的一个表之外的所有表行

时间:2019-06-25 10:34:09

标签: javascript dom html-table

我有一个动态呈现的表。 <tr class="dolly">内某处有一个<tbody>作为参考行-稍后将其克隆并填充数据。我需要删除除那一行以外的所有行。

我尝试过的事情:

  • for循环:使用一个增量,该增量在删除行时迅速失效
  • while循环:继续进行,直到所有行都被删除为止,由于这种情况永远不会发生

如果您有任何想法请告诉我。请不要使用jQuery。

1 个答案:

答案 0 :(得分:2)

使用document.querySelectorAll('tr:not(.dolly)')选择除类tr's以外的所有.dolly,然后对其进行迭代以删除已过滤的tr's

document.querySelectorAll('table tr:not(.dolly)').forEach((tr) => {
    tr.remove();
});
<table>
  <tr class="dolly">
    <td>One</td>
  </tr>
  <tr>
    <td>Two</td>
  </tr>
  <tr>
    <td>Three</td>
  </tr>
</table>