言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

JavaScript辞典

  1. トップページ
  2. JavaScript辞典
  3. HTML要素.innerText

HTML要素.innerText 対応: HTML5(IE起源→標準化)

HTML要素の表示テキストを取得・設定するプロパティです。CSSで非表示にされたテキストは取得されないため、画面に実際に表示されている内容だけを扱います。

構文

// 表示テキストを取得します。
var text = element.innerText;

// テキストを設定します。
element.innerText = "新しいテキスト";

サンプルコード

<div id="box">
	<p>表示されるテキスト</p>
	<p style="display: none;">非表示のテキスト</p>
	<span>もうひとつのテキスト</span>
</div>
var box = document.querySelector("#box");

// innerText は画面に表示されているテキストのみを取得します。
console.log(box.innerText);
// 『表示されるテキスト』と『もうひとつのテキスト』が取得されます。
// 非表示のテキストは含まれません。

// textContent はCSSの表示状態に関係なくすべてのテキストを取得します。
console.log(box.textContent);
// 『表示されるテキスト』『非表示のテキスト』『もうひとつのテキスト』が取得されます。

// テキストを設定します。子要素はすべて置き換えられます。
box.innerText = "新しいテキスト";

innerTextとtextContentの違い

プロパティ概要
innerText画面に表示されているテキストのみを返します。CSSで非表示にされたテキストは含まれず、改行は『<br>』タグやブロック要素の境界を反映します。レイアウトの再計算が発生するため、パフォーマンスへの影響があります。
textContentCSSの表示状態に関係なく、すべてのテキストノードの内容を返します。HTMLソースの構造どおりに空白や改行も含まれます。レイアウトの再計算が発生しないため、処理が高速です。

概要

『HTML要素.innerText』はHTML要素の表示テキストを取得・設定するプロパティです。『HTML要素.textContent』と似ていますが、『HTML要素.innerText』はCSSで非表示にされたHTML要素のテキストを含まず、画面に実際に表示されている内容だけを返すという違いがあります。

『HTML要素.innerText』はレイアウト情報を参照するため、呼び出すたびにブラウザがレイアウトの再計算を行います。ループ内で大量のHTML要素に対して繰り返し呼び出すとパフォーマンスが低下する場合があるため、表示状態を考慮する必要がなければ『HTML要素.textContent』を使用する方が効率的です。

テキストを設定する際は『HTML要素.innerText』も『HTML要素.textContent』も同じように、既存の子要素をすべて置き換えてテキストノードを設定します。HTMLタグは文字列としてそのまま表示されるため、HTMLとして解釈させたい場合は『HTML要素.innerHTML』を使用してください。

対応ブラウザ

Chrome Chrome
49 以降
全バージョンで対応しています
Firefox Firefox
57 以降
44 以前 ×
Safari Safari
18 以降
全バージョンで対応しています
Edge Edge
80 以降
11 以前 ×
IE IE
11 以降
4.5 以前 ×
Opera Opera
48 以降
9 以前 ×
iOS Safari iOS Safari
18 以降
全バージョンで対応しています
Android Browser Android Browser
37 以降
全バージョンで対応しています
Chrome Android Chrome Android
36 以降
17 以前 ×
Firefox Android Firefox Android
79 以降
44 以前 ×

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。