Это не имеет большого значения, преимущество, но надлежащего использования в зависимости от потребности.
Основное отличие состоит в том, что:
createTextNode()
является метод и работает так же, как говорит его название: он создает элемент ..., то вы должны сделать что-то с ним (как в вашем примере, где вы добавьте его в качестве ребенка);
поэтому полезно, если вы хотите, чтобы новый элемент и поместить его где-то
textContent
это свойство можно получить или установить, с уникальным утверждением и ничего другого;
поэтому полезно, когда вы только хотите изменить содержание в уже существующего элемента
Теперь в точном случае вашего вопроса, вы сказали, что вы хотите изменений приводится текст элемент ...
Чтобы быть более ясно, что у вас есть следующий HTML-элемент:
<span>Original text</span>
Если вы используете свое первое решение:
var my_text = document.createTextNode('Hello!');
span.appendChild(my_text);
тогда закончится:
<span>Original textHello!</span>
, потому что вы приложили ваш textNode
.
Итак, вы должны использовать второе решение.