По-моему разница в скорости тут несущественна. Потому как если форма нарисуется не за 100 ms, а за 200 ms - разницы Вы не заметите.
Существует несколько критериев при выборе того или иного подхода. В частности, когда надо сделать адаптивную верстку и обеспечить кроссбраузерность. Я сталкивался с ситуациями, когда в innerHTML не пропишешь все вариации, используя CSS, либо CSS становится монстрообразным. В этом случае лучше создавать форму поэлементно на javscript, используя проверки "if/else".
Все критерии описывать не буду. Скеажу лишь о том, что мне нравится. При использованиии var myobject = createElement() мы сразу получаем указатель на объекты (myobject), с которыми дальше можно работать, а при использовании innerHTML Вам потом придется каждый раз делать getElementById(). И если элементов на странице много, то как раз здесь и возможно будет заметно замедление работы.
|