JavaScriptでHTML要素を動的に追加する方法【createElement〜appendChild】

JavaScript

JavaScriptでは、HTMLに書かれていない要素を、後から動的に追加することができます。
この仕組みは、メッセージ表示やUIの切り替えなど多くのWebサイトで使われています。

この記事では、createElement() を起点に、textContentappendChild() までの流れを通して、
JavaScriptでHTML要素を動的に追加する基本的な考え方を初学者向けに解説します。

JavaScriptでHTML要素を追加する全体の流れ

JavaScriptでHTML要素を動的に追加する処理は、次の3ステップで構成されています。

  1. HTML要素を新しく作成する = createElement()
  2. 要素の中身を設定する = textContent
  3. HTMLに追加する = appendChild()

それぞれの役割を理解することで、DOM操作が分かりやすくなります。

元となるHTMLの構造

JavaScriptで作成したHTML要素を追加するために、
あらかじめ 追加先となる要素 をHTMLに用意しておきます。

<div id="container"></div>

この div 要素が、JavaScriptで作成したHTML要素の 受け皿 になります。
JavaScript側では、この要素を指定して、新しいHTML要素を追加します。

createElement()でHTML要素を作成する

最初に行うのが、createElement() を使ったHTML要素の作成です。

const element = document.createElement('p');

このコードで <p> 要素が作成されます。
ただし、この時点では まだHTMLには追加されていません

createElement() は、HTML要素を作成するだけで、
画面に表示する処理は含まれていない点がポイントです。

textContentで要素の中身を設定する

次に、作成した要素にテキストを設定します。

element.textContent = 'テキストが入ります';

これにより、要素の中身が決まります。
ここまでで、要素の完成形は次のような状態です。

<p>テキストが入ります</p>

ただし、まだHTMLに追加していないため、画面には表示されません。

appendChild()でHTMLに追加する

最後に、作成した要素をHTMLに追加します。

const container = document.getElementById('container');
container.appendChild(element);

appendChild() を使うことで、
指定した要素の中に、新しいHTML要素が追加されます。

この処理を行って、はじめて画面に表示されます。

一連の処理をまとめたコード例

ここまでの処理をまとめると、次のようになります。

const element = document.createElement('p');
element.textContent = 'テキストが入ります';

const container = document.getElementById('container');
container.appendChild(element);

JavaScriptでHTML要素を動的に追加する場合は、この形が基本になります。

まとめ

JavaScriptでHTML要素を動的に追加するには、

  • createElement() で要素を作成する
  • textContent で中身を設定する
  • appendChild() でHTMLに追加する

という流れを理解することが重要です。

作成しただけでは画面に表示されないため、最後にHTMLへ追加する処理が必要という点を押さえておくと、DOM操作が理解しやすくなります!

NAMEKO.ONLINE では、Web開発初学者向けのコンテンツを発信しております!
ぜひ、多くの方にシェアいただけますと嬉しいです!

コメント

タイトルとURLをコピーしました