вставка innerHTML незначительно быстрее, чем манипулирование DOM 1: 1, и выигрывает в тех случаях, когда вы фактически вставляете несколько узлов, атрибутов и т. Д., Но это более подвержено ошибкам и опасно, поскольку по сути это скрытый оператор eval. 1001 *
По моему опыту, в наши дни JS настолько быстр, что выигрыш в скорости innerHTML не оправдывает риски ни для чего, кроме самого большого количества пакетов вставок / итераций.
Короче говоря, вы хотите сделать как можно меньше манипуляций с DOM, поэтому одним из советов при создании иерархии для вставки является создание их друг против друга в памяти, а затем вставка самого высокого элемента в DOM в самый последний момент. Это оставляет наименьшее количество обновлений для браузера. Конечно, мы говорим доли миллисекунд ...