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




строку середину (12)

Другим способом для этого является использование функции 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, где должен быть ваш заголовок. Это может быть полезно, если вы хотите обновить только содержимое таблицы.

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

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

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

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


Это должно работать:

$(document).ready(function() {
   $("someTableSelector").find("tr:gt(0)").remove();
});

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

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


В моем случае это работало следующим образом:

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

Ваш селектор не обязательно должен быть внутри вашего удаления.

Он должен выглядеть примерно так:

$("#tableID tr:gt(0)").remove();

Это означает выбор каждой строки, кроме первой в таблице с идентификатором идентификатора таблицыID и удалением из DOM.


$('#table tr').slice(1).remove();

Я помню, как натолкнулся на этот «срез» быстрее всех других подходов, поэтому просто поместив его сюда.


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

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

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

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

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

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

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

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


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

-Простите, что это очень поздний ответ.

Самый простой способ, которым я нашел удаление любой строки (и всех других строк с помощью итерации), - это

$ ( '# ROWID', '# TABLEID') удалить ().

Остальное легко.


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

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

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

$('table td:not(:first-child, :last-child)')

Чтобы исключить первую и последнюю строки:

$('table tr:not(:first-child, :last-child) td:not(:first-child, :last-child)')




jquery jquery-selectors