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