--- title: Node.textContent slug: Web/API/Node/textContent tags: - API - DOM - Node - Property - Reference - プロパティ translation_of: Web/API/Node/textContent ---
{{APIRef("DOM")}}

textContent は {{domxref ("Node")}} のプロパティで、ノードおよびその子孫のテキストの内容を表します。

メモ: textContent と {{domxref("HTMLElement.innerText")}} は混同しやすいものですが、2つのプロパティは重要な点が異なります

構文

let text = someNode.textContent
someOtherNode.textContent = string

文字列または {{jsxref("null")}}

説明

textContent の値は状況によります。

ノードの textContent を設定すると、そのノードのすべての子が取り除かれて、指定された値をもつ単一のテキストノードに置き換わります。

innerText との違い

Node.textContent と {{domxref("HTMLElement.innerText")}} の間の違いに混乱しないでください。名前は似ているようですが、重要な違いがあります。

innerHTML との違い

{{domxref("Element.innerHTML")}} は、その名が示すとおり HTML を返します。時に、 innerHTML を使用して要素内のテキストを受け取ったり書き込んだりすることがありますが、 textContent は値が HTML として解析されないので性能が良くなります。

さらに、textContent を使用することで {{glossary("Cross-site_scripting", "XSS 攻撃")}}を防ぐことができます。

以下のような HTML の断片があります。

<div id="divA">This is <span>some</span> text!</div>

... textContent を使用して、要素のテキストの内容を取得することができます。

let text = document.getElementById('divA').textContent;
// 変数 text の値は 'This is some text!' となります。

... また、要素のテキストを設定します。

document.getElementById('divA').textContent = 'This text is different!';
// divA の HTML は次のようになります。
// <div id="divA">This text is different!</div>

仕様書

仕様書 状態 備考
{{SpecName('DOM WHATWG','#dom-node-textcontent','Node.textContent')}} {{Spec2('DOM WHATWG')}}

ブラウザーの互換性

{{Compat("api.Node.textContent")}}

関連情報