Свойство textContent получает или задает текстовое содержимое элемента, за вычетом всех вложенных <тегов>, его потомков. Не работает в младших версиях IE.

innerHTML возращает вложенный HTML-код.

innerText используется в IE.

Отличия:

  • textContent получает содержимое <script> и <style>, innerText — нет.
  • innerText считывает стили и не возвращает содержимое скрытых элементов, textContent — нет.

Примеры:

    <div id="text">Здесь <span>был</span> Вася</div>
    var text = document.getElementById("text").textContent;
    text -> "Здесь был Вася"
    var textHTML = document.getElementById("text").innerHTML;
    textHTML -> "Здесь <span>был</span> Вася"

Установка значения заменяет все дочерние элементы:

    document.getElementById("text").textContent = "И Петя тоже!";

Стало:

    <div id="text">И Петя тоже!</div>