Я использую jQuery и имею элемент таблицы, который содержит несколько сотен строк. Я хочу удалить все строки и затем добавить новый набор строк. Я делаю это вызовом удаляет и затем добавляет на родительском элементе.
Мой добавлять логику довольно быстр, и следует совету, данному здесь: http://www.learningjquery.com/2009/03/43439-reasons-to-use-append-correctly
Однако единственный вызов для удаления берет в 5 раз более долго, чем добавление. Что самый быстрый путь состоит в том, чтобы очистить детей dom элемента?
Править: Вот сжатая версия кода, который я использую:
var table = $('#mytable');
$('tbody', table).remove();
table.append(tBodyContents.join(''));
tBodyContents является массивом строк, который при объединении сформирует HTML для строк в tbody.
Если скорость действительно очень важна, лучше всего использовать innerHTML. $ ('tbody', table) [0] .innerHTML = '';
Лично я бы полностью проигнорировал jQuery, дал телу идентификатор и просто выбрал опцию document.getElementById ('id'). innerHTML = ''. И, конечно же, для добавления по-прежнему используется jQuery.
Обычно я делаю
$('#myTableToEmpty').html('');
Затем снова добавляю строки там, где это необходимо.