--- 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
всех дочерних узлов, исключая комментарии и строки кода. Если узел не имеет дочерних узлов, будет возвращена пустая строка.innerText
element.innerText
был введён Internet Explorer-ом. Работает по тому же принципу за небольшими исключениями:
textContent
получает содержимое всех элементов, включая {{HTMLElement("script")}} и {{HTMLElement("style")}}, тогда как innerText
этого не делает.innerText
умеет считывать стили и не возвращает содержимое скрытых элементов, тогда как textContent
этого не делает.innerText
позволяет получить CSS, а textContent
— нет.innerHTML
innerHTML
, как можно понять из его названия, возвращает 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
(пост в блоге)