Что быстрее - на лету HTML или создание элементов с помощью JavaScript? - PullRequest
0 голосов
/ 27 августа 2011
object.innerHTML = "<div class='panel'>foo |</div>"

или

panel = document.createElement ("div");
panel.setAttribute ("class", "panel");
panel.innerHTML = "foo |";
object.appendChild (panel);

Скажем, я создаю много div на лету (около ста или около того), каждый с действиями по событию, именами классов и идентификаторов, что будет более эффективным способом? Или это не имеет значения?

1 Ответ

0 голосов
/ 27 августа 2011

О практичности

Если у вас установлена ​​правильная защита XSS, я считаю, что простота использования innerHTML гораздо важнее, чем преимущества от скорости при использовании DOM.Используя innerHTML, вы можете просто писать HTML.

Фактическая скорость в браузерах

Зависит от браузера, как правило, innerHTML быстрее в IE.В Chrome манипулирование DOM обычно происходит быстрее, но, как всегда, это зависит от варианта использования.

Скорости Chrome, Firefox, Safari настолько высоки, что в значительной степени не имеют значения.Учитывая, что IE, как правило, является одним из более медленных браузеров, я бы посоветовал использовать innerHTML, чтобы помочь IE в этом ... innerHTML почти всегда быстрее в IE.вы добавляете тонны элементов, innerHTML - это часто путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...