
【6日でできるJavaScript入門】要素の追加と削除
Webページにおいて、動的に要素を追加したり削除したりする機能は、インタラクティブな体験を実現する上で非常に重要です。ここでは、JavaScriptによる「要素の追加」と「要素の削除」の基本を学びます。

1.要素の追加
HTMLの既存要素に、新しい子要素や前後に要素を動的に挿入するには、insertAdjacentHTML()
を使います。
1.1. insertAdjacentHTML()
の使い方
構文 | 説明 |
---|---|
要素.insertAdjacentHTML(position, htmlString) | position 位置に htmlString を挿入 |
position に指定できる文字列 | 挿入位置を表す:beforebegin, afterbegin, beforeend, afterend |
1.2. サンプル:東日本ツアーから西日本ツアーへの切替と追加
ファイル名: lesson11-1.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>🗾 ツアー日程の追加</title>
<style>
#schedule { padding: 0; list-style: none; }
#schedule li { margin-bottom: 5px; }
#more { color: blue; cursor: pointer; text-decoration: underline; }
</style>
</head>
<body>
<h1>🗾 東日本ツアー日程</h1>
<ul id="schedule">
<li>仙台(10/2)</li>
<li>東京(10/4)</li>
<li>横浜(10/6)</li>
<li>新潟(10/8)</li>
</ul>
<span id="more" onclick="addWestTours()">西日本ツアーも見る</span>
<script>
const westTours = ['大阪(10/12)','京都(10/14)','神戸(10/16)','広島(10/18)'];
function addWestTours() {
const ul = document.getElementById('schedule');
// 西日本ツアー日程を末尾に順次追加
westTours.forEach(city => {
ul.insertAdjacentHTML('beforeend', `<li>${city}</li>`);
});
}
</script>
</body>
</html>
ブラウザの出力例

- ページロード時は東日本のみ表示
- "西日本ツアーも見る" をクリック → 西日本4都市がリスト末尾に追加される
コード解説
ul.insertAdjacentHTML('beforeend', '<li>…</li>')
:<ul>
の最後に<li>
を追加- テンプレートリテラルで動的にHTML文字列を生成
forEach
で複数要素を順に処理
1.3. 追加位置の指定方法
position | 説明 |
---|---|
beforebegin | 要素自身の直前 |
afterbegin | 要素内の最初の子要素として挿入 |
beforeend | 要素内の最後の子要素として挿入 |
afterend | 要素自身の直後 |
1.4. 追加時の注意点
- 複数回クリックすると重複して同じ要素が追加される
- 事前にフラグを立てたり、ボタン自体を削除したりして重複を防止する必要あり
2.要素の削除
不要になった要素をDOMから取り除くには、remove()
メソッドを使います。
2.1. remove()
の使い方
構文 | 説明 |
---|---|
element.remove() | その要素を親ノードから完全に削除 |
2.2. サンプル:"西日本ツアーも見る"ボタンの削除で重複防止
ファイル名: lesson11-2.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>❌ ボタン削除サンプル</title>
</head>
<style>
#schedule { padding: 0; list-style: none; }
#schedule li { margin-bottom: 5px; }
#more { color: blue; cursor: pointer; text-decoration: underline; }
</style>
<body>
<h1>🗾 東日本ツアー日程</h1>
<ul id="schedule">
<li>仙台(10/2)</li>
<li>東京(10/4)</li>
<li>横浜(10/6)</li>
<li>新潟(10/8)</li>
</ul>
<span id="more" onclick="addWestTours()">西日本ツアーも見る</span>
<script>
const westTours = ['大阪(10/12)','京都(10/14)','神戸(10/16)','広島(10/18)'];
function addWestTours() {
const ul = document.getElementById('schedule');
westTours.forEach(city => ul.insertAdjacentHTML('beforeend', `<li>${city}</li>`));
// ボタンを削除して二度押しを防止
document.getElementById('more').remove();
}
</script>
</body>
</html>
動作
- 初回クリックで西日本ツアー追加+"西日本ツアーも見る"ボタンを消去
- 2回目以降は追加処理が発生しない
ブラウザの出力例

まとめ
ここでは、
insertAdjacentHTML()
による動的な要素追加- 追加位置(beforebegin, afterbegin, beforeend, afterend)の指定
- 追加時の重複防止策
remove()
による要素削除 とその利用例
を学びました。これらを駆使して、よりリッチでインタラクティブなWeb UIを構築しましょう。