Используя jQuery, какой самый эффективный способ удалить все строки данных в HTML-таблице одновременно? - PullRequest
2 голосов
/ 06 июня 2011

Я знаю, что могу использовать этот код ниже, чтобы удалить одну строку из HTML-таблицы:

  $(this).closest("tr").remove();

но теперь я хочу иметь быстрый способ удаления всех строк (поэтому он просто оставляет заголовки) в HTML-таблице сразу. Что-то вроде:

  $("#myTable tr").remove();

Существует ли какой-либо синтаксис для этого или мне нужно перебирать каждую строку и удалять их один за другим?

Ответы [ 4 ]

4 голосов
/ 06 июня 2011

Я бы сделал это так ...

$('#myTable > tbody').empty();

Это оставит ваш tbody элемент пустым.

3 голосов
/ 06 июня 2011

Создан JSperf из любопытства.http://jsperf.com/jquery-clear-a-table

Как ни странно, код, который вы разместили, кажется немного более эффективным.Это все очень близко, так что я бы просто использовал то, что имеет больше смысла, насколько читабельность.

0 голосов
/ 07 июня 2011

Я завелась с помощью:

$("#myTable").find("tr:gt(0)").remove();
0 голосов
/ 06 июня 2011

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

$('tr', $(this).closest('tbody')).remove();
//or using your table 
$('tr:not:first', '#mytable').remove();
...