Используя jQuery, как мне удалить все строки в таблице, кроме первой? Это моя первая попытка использования селекторов индекса. Если я правильно понимаю примеры, должно работать следующее:
$(some table selector).remove("tr:gt(0)");
который я прочитал бы как «Обернуть некоторую таблицу в объект jQuery, а затем удалить все элементы« tr »(строки), где индекс элемента таких строк больше нуля». В действительности он выполняется без генерации ошибки, но не удаляет строки из таблицы.
Чего мне не хватает, и как мне это исправить? Конечно, я мог бы использовать прямой javascript, но мне так весело с jQuery, что я бы хотел решить эту проблему с помощью jQuery.
jquery
jquery-selectors
Кен Пол
источник
источник
Ответы:
Это должно работать:
источник
Because :gt() is a jQuery extension and not part of the CSS specification, queries using :gt() cannot take advantage of the performance boost provided by the native DOM querySelectorAll() method. For better performance in modern browsers, use $("your-pure-css-selector").slice(index) instead.
я бы рекомендовал использовать $ ("# mytable> tr"). Slice (1) .remove ();Я думаю, что это более читабельно, учитывая намерение:
Использование потомков также учитывает случай, когда первая строка содержит таблицу, ограничивая глубину поиска.
Если у вас был элемент TBODY, вы можете сделать это:
Если у вас есть элементы THEAD или TFOOT, вам нужно сделать что-то другое.
источник
$('someTableSelector > tbody:last > tr:not(:first)').remove();
$("#tasks").children().remove();
Другой способ сделать это - использовать функцию empty () jQuery с элементами thead и tbody в вашей таблице.
Пример таблицы:
И команда jQuery:
Это удалит все строки, содержащиеся в элементе tbody вашей таблицы, и сохранит элемент thead там, где должен быть ваш заголовок. Это может быть полезно, когда вы хотите обновить только содержимое таблицы.
источник
Если бы это был я, я бы свел его к одному селектору:
источник
Ваш селектор не должен быть внутри вашего удаления.
Это должно выглядеть примерно так:
Это означает, что выберите каждую строку, кроме первой в таблице с идентификатором tableID, и удалите их из DOM.
источник
Я помню, что натолкнулся на этот «срез» быстрее, чем все другие подходы, поэтому просто поместил его здесь.
источник
gt
не рекомендуется, это лучший ответ.Рассмотрим таблицу с id
tbl
: код jQuery будет:источник
Чтобы удалить все строки, кроме первой (кроме заголовка), используйте следующий код:
$("#dataTable tr:gt(1)").remove();
источник
Самый простой способ :
-первая ссылка на таблицу
-получить список элементов и разрезать его и удалить выбранные элементы из списка
источник
-Извините, это очень поздний ответ.
Я нашел самый простой способ удалить любую строку (и все остальные строки с помощью итерации):
$ ( '# RowId', '# TABLEID') удалить ().
Остальное легко.
источник
источник
обернутый в функцию:
тогда назовите это:
источник
Это работает отлично
источник
Это работает следующим образом в моем случае и работает нормально
источник