@Kesantielu

Действительно ли стоит избегать использования innerHTML?

Читал много публикаций о том, что стоит воздерживаться от использования innerHTML в Javascript, потому что это вызывает перестройку DOM, а следовательно, потенциальные подвисания, потерю слушателей событий и прочие неприятные явления.

Все ли это остается так же актуальным и в 2016?
  • Вопрос задан
  • 463 просмотра
Пригласить эксперта
Ответы на вопрос 2
Rou1997
@Rou1997
"Перестройка" будет при любом создании/удалении элементов DOM, потери слушателей тоже нельзя избежать при создании нового элемента взамен старого, в любом случае надо переносить их вручную скриптом.
Задачи очень разные, может вы вообще новый контейнер создаете, а может нужно в старом изменить всего лишь один атрибут всего одного элемента, разумеется действовать надо по-разному.

Все ли это остается так же актуальным и в 2016?

Зачем задавать такой вопрос, не проще ли самому попробовать, вас что, забанили там, где новые версии браузеров скачивают? И на caniuse, htmlbook и т.п. тоже забанили? Похоже, вы просто не понимаете, о чем говорите, вас интересует не как следует делать, а как одобряется сообществом. К сожалению, будучи частью социума приходится практиковать и второе, как говорится "для галочки", чтобы проходить собеседования и т.п., но, с другой стороны, если начальник будет разумным человеком, то его не устроят ваши мнения без понимания, а глупые начальники живут не очень долго, ровно столько сколько они заработали когда они или их предшественники были умными.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Если innerHTML использовать только для отображения подготовленного контента внутри контейнера, не изменяя структуру DOM'a, тогда ничего не изменится и можно спокойно его использовать.
А иначе - лучше использовать функции-манипуляторы DOM-объектами для сохранения целостности механизма работы браузера с текущей страницей.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект