1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【JavaScript】appendChildの使い方

Posted at

はじめに

アウトプットが苦手な自分が練習の一環として記事を書いてみる。

第四回目です。

以前にappendChild()を使用して画面にフォームを追加するコードを書いていましたが、
しっかり理解して使っているわけではなかったので備忘録としても
JavaScriptでHTMLの要素を追加するappendChildの使い方について書いていきます。

※今後、新たに分かったことがあれば追記していく。

appendChildとは

appendChild()とは特定の親ノードの子ノードリストの末尾にノードを追加するメソッドです。
※似たようなものでappend()がありますが、あちらはjQueryで書く場合に使用するようです。

使い方

例としてボタンを押下するとテキストボックスが追加されるコードを作成します。
サンプル画面のHTMLになります。

サンプル.html
<div>
  <h2>テキストボックス追加</h2>
    <div>
      <label>ボタンを押下すると↓にテキストボックスを追加する</label>
      <div id="addTextBox">
        <input class="block" type="text" value="テキストボックス1">
      </div>   
    </div>
    <button id="addButton" onclick="addTextBox()">フィールドを追加</button>
</div>

無題.png
上記の<div id="addTextBox">に子要素としてテキストボックスを追加するようJavaScriptを組んでいきます。

  // 追加する要素を生成する
  var input = document.createElement('input');
  input.type = 'text';
  
  // 親要素を取得
  var parent = document.getElementById('addTextBox');
  
  // 親要素の末尾に追加する
  parent.appendChild(input);

ボタンを押下すると無事に新たなテキストボックスが追加されました。
無題2.png
ボタン押下でHTMLは以下のように変わっていました。

<!-- 実行前 -->
<div id="addTextBox">
  <input class="block" type="text" value="テキストボックス1">
</div>   

<!-- 実行後 -->
<div id="addTextBox">
  <input class="block" type="text" value="テキストボックス1">
  <input type="text" class="block"> <!-- 追加されたテキストボックス -->
</div>

サンプル

See the Pen by tkshiiiir (@tkshiiiir) on CodePen.

参考サイト

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?