概要:このチュートリアルでは、JavaScript の removeChild() メソッドを使用して、親ノードから子ノードを削除する方法を学びます。
JavaScript removeChild() メソッドの概要
ノードの子要素を削除するには、removeChild() メソッドを使用します。
let childNode = parentNode.removeChild(childNode);Code language: JavaScript (javascript)childNode は、削除したい parentNode の子ノードです。childNode が parentNode の子ノードでない場合、メソッドは例外をスローします。
removeChild() は、DOM ツリーから削除された子ノードを返しますが、メモリには保持され、後で使用できます。
削除された子ノードをメモリに保持したくない場合は、次の構文を使用します。
parentNode.removeChild(childNode);Code language: JavaScript (javascript)子ノードは、JavaScript のガベージコレクターによって破棄されるまでメモリに残ります。
JavaScript removeChild() メソッドの例
次の項目のリストがあるとします。
<ul id="menu">
<li>Home</li>
<li>Products</li>
<li>About Us</li>
</ul>Code language: HTML, XML (xml)次の例では、removeChild() を使用して最後のリスト項目を削除します。
let menu = document.getElementById('menu');
menu.removeChild(menu.lastElementChild);Code language: JavaScript (javascript)仕組み
- 最初に、
getElementById()メソッドを使用して、ID がmenuのul要素を取得します。 - 次に、
removeChild()メソッドを使用して、ul要素の最後の要素を削除します。menu.lastElementChildプロパティは、menuの最後の子要素を返します。
すべてをまとめると次のようになります。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript removeChild()</title>
</head>
<body>
<ul id="menu">
<li>Home</li>
<li>Products</li>
<li>About Us</li>
</ul>
<script>
let menu = document.getElementById('menu');
menu.removeChild(menu.lastElementChild);
</script>
</body>
</html>Code language: HTML, XML (xml)要素のすべての子ノードを削除する
要素のすべての子ノードを削除するには、次の手順を実行します。
firstChildプロパティを使用して、要素の最初のノードを取得します。- 子ノードがなくなるまで、子ノードを繰り返し削除します。
次のコードは、menu 要素からすべてのリスト項目を削除する方法を示しています。
let menu = document.getElementById('menu');
while (menu.firstChild) {
menu.removeChild(menu.firstChild);}Code language: JavaScript (javascript)親ノードの innerHTML プロパティを空白に設定することで、要素のすべての子ノードを削除できます。
let menu = document.getElementById('menu');
menu.innerHTML = '';Code language: JavaScript (javascript)まとめ
parentNode.removeChild()を使用して、親ノードから子ノードを削除します。- 子ノードが親ノードに見つからない場合、
parentNode.removeChild()は例外をスローします。
クイズ
このチュートリアルは役に立ちましたか?