jQuery удалять все строки таблицы, кроме первого


5 Answers

Я думаю, что это более читаемо, учитывая намерение:

$('someTableSelector').children( 'tr:not(:first)' ).remove();

Использование детей также учитывает случай, когда первая строка содержит таблицу, ограничивая глубину поиска.

Если у вас есть элемент TBODY, вы можете сделать это:

$("someTableSelector > tbody:last").children().remove();

Если у вас есть элементы THEAD или TFOOT, вам нужно будет сделать что-то другое.

Question

Как использовать jQuery, как удалить все строки в таблице, кроме первой? Это моя первая попытка использования индексных селекторов. Если я правильно понимаю примеры, то должно работать следующее:

$(some table selector).remove("tr:gt(0)");

который я читал бы как «Обернуть некоторую таблицу в объект jQuery, а затем удалить все« tr »элементы (строки), где индекс элемента таких строк больше нуля». В действительности, он выполняется без генерации ошибки, но не удаляет любые строки из таблицы.

Что мне не хватает, и как я могу это исправить? Конечно, я мог бы использовать прямой javascript, но мне так весело с jQuery, что я хотел бы решить это с помощью jQuery.




Чтобы удалить все строки, кроме первого (кроме заголовка), используйте приведенный ниже код:

$("#dataTable tr:gt(1)").remove();




Это прекрасно работает

$("#myTable tbody").children( 'tr:not(:first)' ).html("");




$("#p-items").find( 'tr.row-items' ).remove();



Другим способом для этого является использование функции empty () jQuery с элементами thead и tbody в вашей таблице.

Пример таблицы:

<table id="tableId">
<thead>
    <tr><th>Col1</th><th>Col2</th></tr>
</thead>
<tbody>
    <tr><td>some</td><td>content</td></tr>
    <tr><td>to be</td><td>removed</td></tr>
</tbody>
</table>

И команда jQuery:

$("#tableId > tbody").empty();

Это приведет к удалению всех строк, содержащихся в элементе tbody вашей таблицы, и сохраните элемент thead, где должен быть ваш заголовок. Это может быть полезно, если вы хотите обновить только содержимое таблицы.




Рассмотрим таблицу с идентификатором tbl : код jQuery будет выглядеть следующим образом:

$('#tbl tr:not(:first)').remove();



Related