Название довольно ясно:
Есть ли какое-либо существенное различие между innerHTML
и createTextNode
(используется с Append
) для заполнения диапазона текстом?
Есть ли какая-либо существенная разница между innerHTML и использованием createTextNode для заполнения диапазона?
Ответ 1
Конечно. createTextNode
избежит любых строк и покажет их как они есть, в то время как innerHTML
может отображать html- как строки в DOM. Если вы этого не хотите (если вы не уверены, что текст не содержит неэкранированных тегов, например, при непосредственном назначении литерала), вы можете использовать textContent
(или innerText
для IE).
Но я бы рекомендовал createTextNode
, потому что все браузеры поддерживают его одинаково без каких-либо причуд.
Ответ 2
Я понимаю, что некоторые манипуляции с innerHTML удаляют все связанные события, поэтому использование createTextNode является предпочтительным.
Ответ 3
Проведи исследование онлайн, вот что я нашел. Это должно охватить это на высоком уровне:
-
элементарный createTextNode (текст) и элем. textContent= text делает то же самое (источник: https://javascript.info/task/createtextnode-vs-innerhtml)
-
В то время как textContent возвращает полный текст, содержащийся в узле, innerText возвращает только видимый текст, содержащийся в узле. (src: разница между textContent и innerText)