JavaScriptでHTMLの子ノードを削除する方法をわかりやすく解説
Web開発において、DOM操作は欠かせないスキルのひとつです。その中でも「子ノード(子要素)を削除する」処理は、リスト項目の動的な追加・削除など、さまざまな場面で活用されます。
JavaScriptでは removeChild() メソッドを使うことで、親要素から指定した子ノードを取り除くことができます。以下に、実際に動作するコード例を示します。
コード例
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.result {
font-size: 20px;
font-weight: 500;
}
</style>
</head>
<body>
<h1>JavaScriptを使ってHTMLの子ノードを削除する</h1>
<div style="color: green;" class="result">
<ul class="animal">
<li>牛</li>
<li>ライオン</li>
<li>トラ</li>
<li>水牛</li>
</ul>
</div>
<button class="Btn">CLICK HERE</button>
<h3>
上のボタンをクリックすると、リストの先頭要素が削除されます
</h3>
<script>
let resEle = document.querySelector(".result");
let animalList = document.querySelector(".animal");
document.querySelector(".Btn").addEventListener("click", () => {
animalList.removeChild(animalList.childNodes[0]);
animalList = animalList;
});
</script>
</body>
</html>
実行結果
上記のコードを実行すると、ブラウザには次のように表示されます。

「CLICK HERE」ボタンをクリックすると、リストの最初の要素が削除され、表示は次のように変化します。

コードのポイント
- querySelector():CSSセレクタを指定して対象のHTML要素を取得します。
- addEventListener("click", ...):ボタンがクリックされたときに実行されるイベントリスナーを登録します。
- removeChild(childNode):親ノードから引数で渡した子ノードを削除します。
注意点:空白テキストノードについて
「CLICK HERE」を1回クリックしてもリスト項目が消えず、もう1回押すと消えることがあります。これは、childNodes プロパティには要素ノードだけでなく、HTML内の改行やインデントによる空白テキストノードも含まれるためです。
確実にli要素だけを削除したい場合は、children プロパティ(要素ノードのみを返す)を使うと安全です。
animalList.removeChild(animalList.children[0]);
モダンな代替手段:remove() メソッド
近年のブラウザでは、よりシンプルに書ける remove() メソッドも利用できます。こちらは親要素を意識せず、対象ノード自身を直接削除できます。
document.querySelector(".animal li").remove();
状況に応じて使い分けることで、より読みやすく保守しやすいコードになります。
-
JavaScriptでIDを指定して要素を削除する方法
JavaScriptでIDを指定して要素を削除するIDを使ってHTML要素を削除するには、remove()メソッドを使用します。このメソッドは、対象のDOM要素をドキュメントから直接取り除くことができる、最もシンプルで直感的な方法です。コード例以下は実際のサンプルコードです。<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8> <meta name=viewport content=width=device-width, in
-
JavaScriptでDOMノードのすべての子要素を一括削除する方法
JavaScriptでDOMノードからすべての子要素を削除したい場合は、親要素のinnerHTMLに空文字列('')を設定するのが最もシンプルで手軽な方法です。これにより、その要素の中身が丸ごとクリアされます。 サンプルコード 実際に動作するコードを見てみましょう。ボタンをクリックすると、赤い枠のボックス内の子要素がすべて削除される仕組みです。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="U