Как я могу удалить все строки HTML-таблицы, кроме той <th>
, с помощью Javascript, без перебора всех строк в таблице? У меня очень большая таблица, и я не хочу останавливать пользовательский интерфейс, пока я просматриваю строки, чтобы удалить их
javascript
html
html-table
K ''
источник
источник
removeChild
принимает только один элемент DOM.Ответы:
Держите
<th>
строку в<thead>
и других строк в<tbody>
то заменить<tbody>
на новый, пустой.т.е.
источник
document.getElementById('tbody').innerHTML = '';
это удалит все строки:
источник
$("tbody#id tr").remove()
Очень грубо, но это тоже работает:
источник
<th>
файл<thead>
. В любом случае, это, вероятно, наиболее синтаксически правильный способ построения таблицы.var bodyRef = document.getElementById('myTable').getElementsByTagName('tbody')[0];
bodyRef.innerHTML = '';
Это старый вопрос, но недавно у меня была похожая проблема.
Я написал этот код, чтобы решить эту проблему:
Это удалит все строки, кроме первой.
Ура!
источник
На заметку: Остерегайтесь распространенных ошибок :
Если ваш начальный индекс равен 0 (или некоторый индекс от начала), то правильный код:
НОТЫ
1. аргумент для deleteRow фиксирован,
это необходимо, поскольку при удалении строки количество строк уменьшается.
т.е. к тому времени, когда я достигнет (rows.length - 1) или даже до того, как эта строка уже будет удалена, у вас будет некоторая ошибка / исключение (или тихое).
2. rowCount берется до начала цикла for, поскольку при удалении "table.rows.length" будет продолжать меняться, так что снова у вас есть проблема, когда удаляются только нечетные или четные строки.
Надеюсь, это поможет.
источник
Предполагая, что у вас есть только одна таблица, поэтому вы можете ссылаться на нее только по типу. Если вы не хотите удалять заголовки:
в противном случае:
Надеюсь, поможет!
источник
Мне нужно было удалить все строки, кроме первой и решения, опубликованного @strat, но это привело к неперехваченному исключению (ссылка на узел в контексте, где он не существует). Следующее сработало для меня.
источник
Если вы можете объявить
ID
for,tbody
вы можете просто запустить эту функцию:источник
это будет работать с удалением итерации в таблице HTML в собственном
источник
приведенный ниже код отлично работает. Удаляет все строки, кроме строки заголовка. Итак, этот код действительно т
источник
Присваивание некоторого идентификатора тегу tbody. т.е. После этого следующая строка должна сохранить верхний / нижний колонтитул таблицы и удалить все строки.
И, если вы хотите, чтобы вся таблица (заголовок / строки / нижний колонтитул) была стерта, установите идентификатор на уровне таблицы, т.е.
источник
Если вы не хотите удалять,
th
а просто хотите удалить строки внутри, это отлично работает.источник
Как насчет этого:
При первой загрузке страницы сделайте следующее:
Затем, когда вы захотите очистить таблицу:
Результатом будут строки заголовка, если это все, с чего вы начали, производительность значительно выше, чем при циклическом выполнении.
источник
Если у вас гораздо меньше
<th>
строк, чем строк, не являющихся<th>
строками, вы можете собрать все<th>
строки в строку, удалить всю таблицу и затем записать,<table>thstring</table>
где раньше была таблица.РЕДАКТИРОВАТЬ: Где, очевидно, «thstring» - это html для всех строк
<th>
s.источник
<th>
s как элементы DOM, очистите innerHTML таблицы, а затем снова добавьте<th>
к нему s.Это работает в IE без необходимости даже объявлять переменную для таблицы и удаляет все строки:
источник
это простой код, который я написал для решения этой проблемы, не удаляя строку заголовка (первую).
Надеюсь, это сработает для вас !!.
источник
Присвойте своему телу идентификатор или класс.
Вы можете назвать свой идентификатор или класс как хотите, не обязательно
#tbodyId
или.tbodyClass
.источник
Просто очистите тело таблицы.
источник
const table = document.querySelector ('таблица'); table.innerHTML === ''? нуль: table.innerHTML = ''; приведенный выше javascript отлично работал у меня. Он проверяет, содержит ли таблица какие-либо данные, а затем очищает все, включая заголовок.
источник