Удалить все строки таблицы, кроме одной с данным классом - PullRequest
0 голосов
/ 25 июня 2019

У меня таблица отображается динамически. Где-то внутри <tbody> есть один <tr class="dolly">, который служит справочной строкой - он клонируется и заполняется данными позже. Мне нужно удалить все строки, кроме этой.

Что я пробовал:

  • for loop : использует приращение, которое быстро становится недействительным при удалении строк
  • while цикл : продолжается до тех пор, пока не будут удалены все строки, что никогда не происходит из-за условия

Пожалуйста, дайте мне знать, если у вас есть идеи. Пожалуйста, не jQuery.

1 Ответ

2 голосов
/ 25 июня 2019

используйте 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...