この記事では、JavaScriptのtextContent
とinnerHTML
の違いを解説します。
textContentとinnerHTMLの違い
textContentとは?
簡単に解説すると、textContent
は「テキスト情報のみを取得」します。
取得できるのは「文字列またはnull」となります。
innerHTMLとは?
簡単に解説すると、innerHTMLは「要素内のHTMLのマークアップを取得」します。
そのため、タグ情報なども含めて取得されます。
textContentとinnerHTMLのデモ・サンプル
textContent
とinnerHTML
の違いを比べてみます。
サンプルコード・デモ
<div id="sample">テキストが<strong>太字</strong>です。<br>改行しました。</div>
<button onclick="actionBtn()">実行ボタン</button>
function actionBtn() {
var sample = document.getElementById('sample');
var tc = sample.textContent;
var ih = sample.innerHTML;
console.log(tc);
console.log(ih);
}
実行ボタンをクリックすると、<div id="sample">
内をそれぞれtextContent
とinnerHTML
で取得します。
そしてconsole logにそれぞれの結果が出力します。
console logに出力される結果は以下のようになります。
// console.log
テキストが太字です。改行しました。
テキストが<strong>太字</strong>です。<br>改行しました。
textContentは「テキスト情報のみを取得」しています。
それに対してinnerHTMLは「タグ情報も取得」しています。