Что самый быстрый путь состоит в том, чтобы удалить дочерние элементы из DOM в IE?

Я использую 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.

10
задан bluemoo 19 February 2010 в 19:25
поделиться

3 ответа

А как насчет $('#tableId').empty()?

Документация для метода empty

4
ответ дан 3 December 2019 в 20:41
поделиться

Если скорость действительно очень важна, лучше всего использовать innerHTML. $ ('tbody', table) [0] .innerHTML = '';

Лично я бы полностью проигнорировал jQuery, дал телу идентификатор и просто выбрал опцию document.getElementById ('id'). innerHTML = ''. И, конечно же, для добавления по-прежнему используется jQuery.

1
ответ дан 3 December 2019 в 20:41
поделиться

Обычно я делаю

$('#myTableToEmpty').html('');

Затем снова добавляю строки там, где это необходимо.

7
ответ дан 3 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: