jQuery: первый устарел - переписать? - PullRequest
2 голосов
/ 07 января 2020

Как бы я переписал что-то вроде этого в jQuery 3.4.1 или ванили JS:

$("#ResultsTable tr:not(:first)").remove();

с использованием: first deprecated? (https://api.jquery.com/first-selector/)

Мне нужно удалить все строки, кроме первой.

Ответы [ 3 ]

2 голосов
/ 07 января 2020

Вы можете использовать метод .slice(startIndex)

$("#ResultsTable tr").slice(1).remove();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<table id="ResultsTable">
  <tr><td>1</td></tr>
  <tr><td>2</td></tr>
  <tr><td>3</td></tr>
  <tr><td>4</td></tr>
</table>

Если первая строка является заголовком, используйте структуру таблицы, используя thead и tbody и используйте .empty() для удаления строк в теле.

$("#ResultsTable tbody").empty();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<table id="ResultsTable">
  <thead>
    <tr><th>1</th></tr>
  </thead>
  <tbody>
    <tr><td>2</td></tr>
    <tr><td>3</td></tr>
    <tr><td>4</td></tr>
  </tbody>
</table>
1 голос
/ 07 января 2020

Если у вас есть только tbody со списком tr с, вы можете использовать

$("#ResultsTable tr:not(:first-child)").remove();

Если вы исключите первое, потому что хотите сохранить строку thead, вы можете используйте

$("#ResultsTable tbody tr").remove();

, чтобы удалить обычные строки и сохранить заголовки.

0 голосов
/ 07 января 2020
$("#ResultsTable tr:not(:first-child)").remove();

Вы можете использовать not(:first-child) селектор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...