--- title: Node.textContent slug: Web/API/Node/textContent tags: - API - Command API - DOM - Node - Property - Reference translation_of: Web/API/Node/textContent ---
{{ApiRef}}
Позволяет задавать или получать текстовое содержимое элемента и его потомков.
var text = element.textContent; element.textContent = "Это просто текст";
textContent возвращает null, если узел является документом, типом документа, или его описанием. Для получения всего текста и CDATA-данных во всём документе можно использовать document.documentElement.textContent.textContent возвращает текст внутри узла в виде строки (т.н. nodeValue).textContent возвращает конкатенацию свойств textContent всех дочерних узлов, исключая комментарии и строки кода. Если узел не имеет дочерних узлов, будет возвращена пустая строка.innerTextelement.innerText был введён Internet Explorer-ом. Работает по тому же принципу за небольшими исключениями:
textContent получает содержимое всех элементов, включая {{HTMLElement("script")}} и {{HTMLElement("style")}}, тогда как innerText этого не делает.innerText умеет считывать стили и не возвращает содержимое скрытых элементов, тогда как textContent этого не делает.innerText позволяет получить CSS, а textContent — нет.innerHTMLinnerHTML, как можно понять из его названия, возвращает HTML. Довольно часто innerHTML используется для получения или записи текста в элемент. Тем не менее, вместо него желательно использовать textContent: этот метод потребляет гораздо меньше ресурсов, так как текст парсится как текст, а не HTML. Кроме того, это защищает от XSS атак.
// Дан следующий фрагмент:
// <div id="block">Это — <span>просто</span> текст</div>
// Достаём текстовое содержимое:
var text = document.getElementById("block").textContent;
// В переменной |text| находится: "Это — просто текст".
// Меняем текст:
document.getElementById("block").textContent = "Это — просто текст";
// Теперь наш фрагмент выглядит так:
// <div id="block">Это — просто текст</div>
{{Compat}}
innerText и textContent (пост в блоге)