HTML要素.textContent 対応: DOM Level 3(2004)
HTML要素内のテキストを取得、または設定します。HTMLタグは解釈されず、純粋なテキストとして扱われます。
構文
// テキストを取得します。 var text = element.textContent; // テキストを設定します。 element.textContent = "新しいテキスト";
サンプルコード
<p id="sample">こんにちは<span>世界</span></p>
var el = document.querySelector("#sample");
// HTMLタグを無視してテキストのみを取得します。
console.log(el.textContent); // 『こんにちは世界』と出力されます。
// テキストを設定します。HTMLタグは文字列としてそのまま表示されます。
el.textContent = "新しい<span>テキスト</span>";
// 画面には「新しいテキスト」とそのまま表示されます。
textContentとinnerHTMLの違い
| プロパティ | 概要 |
|---|---|
| textContent | HTMLタグを解釈しません。テキストのみを扱うため安全です。ユーザーが入力した値を表示する場合に適しています。 |
| innerHTML | HTMLタグを解釈します。HTMLを動的に挿入したい場合に使用しますが、ユーザーの入力値をそのまま挿入すると、悪意のあるスクリプトが実行されてしまう危険性があります。XSSについては『HTML要素.innerHTML』のページを参照してください。 |
概要
『HTML要素.textContent』はHTML要素のテキスト内容を取得・設定するためのプロパティです。取得時には子要素のタグをすべて無視し、純粋なテキストのみを連結して返します。
設定時にHTMLタグを含む文字列を代入しても、タグはそのまま文字列として表示され、HTMLとして解釈されることはありません。この性質があるため、ユーザーが入力した値を画面に表示する場合には『HTML要素.innerHTML』よりも『HTML要素.textContent』の方が安全です。
HTMLを含む内容を動的に挿入したい場合は『HTML要素.innerHTML』を使用してください。
対応ブラウザ
デスクトップ
全バージョンで対応しています
全バージョンで対応しています
2 以前 ×
8 以前 ×
8 以前 ×モバイル
全バージョンで対応しています
Android Browser
37 以降 ○
4 以前 ×
Chrome Android
36 以降 ○
17 以前 ×
Firefox Android
79 以降 ○
3 以前 ×記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。