Задать вопрос
@maksam07

Что быстрее: appendChild vs append vs ...?

Доброго времени суток. Недавно начал интересовать вопрос, что использовать, если в блок нужно добавлять много информации. Порядка 10 000 - 1 000 000 строк, типом: <div>строка 1</div>

Изначально я пробовал самый стандартный jQuery: $("#id").append( a.str );
Сразу говорю, в a.str хранится до 1 000 строк, полученные ajax запросом. И путем "setTimeout" эта операция выполняется 1 - 1 000... раз ( точные цифры неизвестны. Тестировал с цифрой 48 )
Результаты меня не очень порадовали т.к. это заняло ~107 секунд ( конечно же я знаю, что время зависит от обработки ajax запроса, поэтому тестов делал до 5 и время указано среднее )

Далее, я нашел такой код:
var div = document.createElement('div');
div.innerHTML = a.str ; 
var target = document.getElementById( "id" );
target.appendChild(div);

Результаты этого кода были впечатляющими. Операция заняла ~50 секунд

Ну и собственно сам вопрос: мне и дальше пользоваться вторым кодом или есть какой-то вариант кода, который будет делать это еще быстрее, либо, может есть какие-то коррективы для моего?
  • Вопрос задан
  • 4997 просмотров
Подписаться 1 Оценить 3 комментария
Ответ пользователя romy4 К ответам на вопрос (3)
romy4
@romy4
Exception handler
создавай элементы отдельно от DOM, а потом эту новую ветку одним appendChild добавляй
Ответ написан