Показать сообщение отдельно
  #5 (permalink)  
Старый 03.02.2021, 11:53
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Да, готовая переменная - это единственный путь, если работать со строками. И не только из-за парсера:
a += b
в javascript это полный аналог
a = a + b
, соответственно
innerHTML += x
полностью перезаписывает заново весь код(и заново парсит), так делать нельзя в принципе.

Надо помнить, что вы работаете не с текстом, а с уже готовой DOM структурой, текст парсится по мере прихода с сервера и уже не существует в живой странице. Методы типа innerHTML - это на самом деле костыль. Правильно же с DOM структурой работать через DOM методы: createElement, appendChild итд.

P.S. Есть метод document.write() который работает именно так, как вы ожидаете, но он работает только во время загрузки страницы, т.к. плюёт текст прямо в поток получаемого с сервера, до того как он будет распаршен. Соответственно после того как страница уже загрузилась - использовать его невозможно.
__________________
29375, 35

Последний раз редактировалось Aetae, 03.02.2021 в 12:01.
Ответить с цитированием