Удалить все строки в таблице HTML - PullRequest
83 голосов
/ 01 сентября 2011

Как я могу удалить все строки таблицы HTML, кроме <th> с использованием Javascript и без циклического прохождения всех строк в таблице? У меня очень большая таблица, и я не хочу замораживать пользовательский интерфейс, пока я перебираю строки, чтобы удалить их

Ответы [ 18 ]

2 голосов
/ 26 октября 2016

Если вы не хотите удалять th и просто хотите удалить строки внутри, это работает отлично.

var tb = document.getElementById('tableId');
  while(tb.rows.length > 1) {
  tb.deleteRow(1);
}
2 голосов
/ 05 декабря 2014

Это работает в IE, даже не объявляя переменную для таблицы и удаляя все строки:

for(var i = 0; i < resultsTable.rows.length;)
{   
   resultsTable.deleteRow(i);
}
2 голосов
/ 01 сентября 2011

Если у вас гораздо меньше <th> строк, чем не-1002 * строк, вы можете собрать все <th> строки в строку, удалить всю таблицу и затем написать <table>thstring</table> там, где раньше была.

РЕДАКТИРОВАТЬ: где, очевидно, "thstring" является HTML для всех строк <th> с.

1 голос
/ 17 марта 2017

Как насчет этого:

При первой загрузке страницы сделайте следующее:

var myTable = document.getElementById("myTable");
myTable.oldHTML=myTable.innerHTML;

Затем, когда вы хотите очистить таблицу:

myTable.innerHTML=myTable.oldHTML;

Результатом будут ваши строки заголовка, если это все, с чего вы начали, производительность значительно выше, чем зацикливание.

1 голос
/ 29 декабря 2014

это простой код, который я только что написал, чтобы решить эту проблему, не удаляя строку заголовка (первую).

var Tbl = document.getElementById('tblId');
while(Tbl.childNodes.length>2){Tbl.removeChild(Tbl.lastChild);}

Надеюсь, это работает для вас !!.

1 голос
/ 29 апреля 2018

Назначьте идентификатор или класс для вашего тела.

document.querySelector("#tbodyId").remove();
document.querySelectorAll(".tbodyClass").remove();

Вы можете назвать свой идентификатор или класс так, как хотите, не обязательно #tbodyId или .tbodyClass.

0 голосов
/ 04 марта 2019

Назначение некоторого идентификатора тегу tbody. то есть После этого следующая строка должна сохранить верхний / нижний колонтитул таблицы и удалить все строки.

document.getElementById("yourID").innerHTML="";

И, если вы хотите, чтобы вся таблица (верхний колонтитул / строки / нижний колонтитул) была удалена, тогда установите идентификатор на уровне таблицы, т.е.

0 голосов
/ 25 октября 2014

Просто очистите тело стола.

$("#tblbody").html("");
...