Есть ли существенная разница между innerHTML и использованием createTextNode для заполнения промежутка?

Название довольно ясно: есть ли существенная разница между innerHTML а также createTextNode (используется с Append) заполнить промежуток с текстом?

2 ответа

Решение

Конечно. createTextNode будет избегать любых строк и покажет их как они есть, в то время как innerHTML может отображать HTML-подобные строки в DOM. Если вы не хотите этого (если вы не уверены, что текст не содержит неэкранированных тегов, например, при непосредственном назначении литерала), вы можете использовать textContent (или же innerText для IE).

Еще я бы порекомендовал createTextNode, потому что все браузеры поддерживают его одинаково без каких-либо излишеств.

Делая некоторые исследования онлайн, вот что я нашел. Это должно охватить это на высоком уровне:

Насколько я понимаю, некоторые манипуляции с innerHTML удаляют все связанные события, поэтому использование createTextNode предпочтительнее.

Другие вопросы по тегам