JS/ES – DOM – textContent, innerText, innerHTML

概要

ブラウザーによる対応の有無もあるようだが、DOMの要素のテキストを扱う3つのプロパティー、textContent, innerText, innerHTMLの機能を確認する。

コード内容と結果

確認に使ったコードは以下の通りで、予め空のa要素を準備し、これに対して3つのプロパティーによってテキストを設定している。

テキストの種類は、プレーンテキスト、エスケープコード含み、HTMLタグ含みの3種類。

これに対して3つのプロパティーの挙動を確認しているので、計9個のリンクの結果を確認する。

HTML

結果

プレーンテキストに対しては、3つのプロパティーとも同じ結果になる。

エスケープコードを含むテキストについては、innerTextはエスケープを機能通りに表示、textContentとinnerHTMLはエスケープの機能は再現しないが、半角空白の文字として表現。

タグに関しては、innerHTMLは反映、他の2つはそのままプレーンテキストとして表示される。つまり、innerHTMLは<や>などの文字がそのまま送られ、innerTextとtextContentでは&lt;や&gt;などの特殊記号に変換されて送られる。

まとめ

textContent innerText innerHTML
プレーンテキスト テキスト表示 テキスト表示 テキスト表示
ESC含みテキスト テキスト表示(ESCは半角SP) ESC機能を反映 テキスト表示(ESCは半角SP)
タグ含みテキスト プレーンテキスト表示 プレーンテキスト表示 タグ機能を反映

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です