JavaScriptでHTML要素を追加する方法まとめ

プログラミング

JavaScriptでHTML要素を追加する方法をまとめてみました。

要素の追加はJavaScriptにおいて基本中の基本ですが、意外と忘れがちなのでしっかり覚えておきましょう。

JavaScriptでHTML要素を追加する

JavaScriptでWEBページにHTML要素を追加するには、以下の4つのメソッドを使用することができます。

メソッドHTML要素を追加する位置コードの書き方
after()指定した要素の後element.before(newElement)
before()指定した要素の前element.after(newElement)
appendChild()指定した要素の子要素の最後element.appendChild(newElement)
insertBefore()指定した要素の子要素の最初element.insertBefore(newElement, element.firstChild)

insertBefore()では、指定した要素の子要素の最初だけでなく、指定した要素の子要素の任意の位置にHTML要素を追加することもできます。

ここからは以下のHTMLコードをサンプルとして、それぞれのメソッドの使い方についてご紹介していきます。

<div id="sample">
  <p>テキスト1</p>
  <p>テキスト2</p>
  <p>テキスト3</p>
</div>

指定したHTML要素の後にHTML要素を追加する

指定したHTML要素の後にHTML要素を追加する場合は、afterメソッドを使用します。

// 追加するHTML要素を作成
const newElement = document.createElement('p');
newElement.textContent = '追加するテキスト';

// id="sample"の要素を取得する
const target = document.getElementById('sample');

// afterメソッドを使用する
target.after(newElement);

上記コードを実行した後のHTMLコードは以下になります。

<div id="sample">
  <p>テキスト1</p>
  <p>テキスト2</p>
  <p>テキスト3</p>
</div>
<p>追加するテキスト</p>

指定したHTML要素の前にHTML要素を追加する

指定したHTML要素の前に要素を追加する場合は、beforeメソッドを使用します。

// 追加するHTML要素を作成
const newElement = document.createElement('p');
newElement.textContent = '追加するテキスト';

// id="sample"の要素を取得する
const target = document.getElementById('sample');

// beforeメソッドを使用する
target.before(newElement);

上記コードを実行した後のHTMLコードは以下になります。

<p>追加するテキスト</p>
<div id="sample">
  <p>テキスト1</p>
  <p>テキスト2</p>
  <p>テキスト3</p>
</div>

指定したHTML要素の子要素の最後にHTML要素を追加する

指定したHTML要素の子要素の最後にHTML要素を追加する場合は、appendChildメソッドを利用します。

// 追加するHTML要素を作成
const newElement = document.createElement('p');
newElement.textContent = '追加するテキスト';

// id="sample"の要素を取得する
const target = document.getElementById('sample');

// appendChildメソッドを使用する
target.appendChild(newElement);

上記コードを実行した後のHTMLコードは以下になります。

<div id="sample">
  <p>テキスト1</p>
  <p>テキスト2</p>
  <p>テキスト3</p>
  <p>追加するテキスト</p>
</div>

指定したHTML要素の子要素の最初にHTML要素を追加する

指定したHTML要素の子要素の最初にHTML要素を追加する場合は、insertBeforeメソッドを使用します。

第2引数に指定する要素の1つ目の子要素を指定しましょう。

// 追加するHTML要素を作成
const newElement = document.createElement('p');
newElement.textContent = '追加するテキスト';

// id="sample"の要素を取得する
const target = document.getElementById('sample');

// insertBeforeメソッドを使用する
target.insertBefore(newElement, target.firstChild);

上記コードを実行した後のHTMLコードは以下になります。

<div id="sample">
  <p>追加するテキスト</p>
  <p>テキスト1</p>
  <p>テキスト2</p>
  <p>テキスト3</p>
</div>

指定したHTML要素の子要素の任意の位置にHTML要素を追加する

insertBeforeメソッドを使用することで、任意の箇所にHTML要素を追加することも可能です。

// 追加するHTML要素を作成
const newElement = document.createElement('p');
newElement.textContent = '追加するテキスト';

// id="sample"の要素を取得する
const target = document.getElementById('sample');

// 基準となる要素を取得する
const standard = target.children[2];

// insertBeforeメソッドを使用する
target.insertBefore(newElement, standard.nextSibling);

上記のコードを実行した後のHTMLコードは以下になります。

<div id="sample">
  <p>テキスト1</p>
  <p>テキスト2</p>
  <p>追加するテキスト</p>
  <p>テキスト3</p>
</div>

コメント

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