概要: このチュートリアルでは、JavaScript DOMメソッドを使用してノードのすべての子ノードを削除する方法を学習します。
ノードのすべての子ノードを削除するには、次の手順に従います。
- まず、最初の子ノード (
firstChild) を選択し、removeChild()メソッドを使用して削除します。最初の子ノードが削除されると、次の子ノードは自動的に最初の子ノードになります。 - 次に、子ノードが残らなくなるまで、最初の手順を繰り返します。
次の removeAllChildNodes() 関数は、ノードのすべての子ノードを削除します。
function removeAllChildNodes(parent) {
while (parent.firstChild) {
parent.removeChild(parent.firstChild);
}
}Code language: PHP (php)次のHTMLドキュメントがあるとします。
<html lang="en">
<head>
<title>Remove All Child Nodes</title>
</head>
<body>
<div id="container">
<p>The first paragraph.</p>
<p>The second paragraph.</p>
<p>The third paragraph.</p>
</div>
</body>
</html>Code language: HTML, XML (xml)次のスクリプトは、IDが container の <div> のすべての子ノードを削除します。
function removeAllChildNodes(parent) {
while (parent.firstChild) {
parent.removeChild(parent.firstChild);
}
}
const container = document.querySelector('#container');
removeAllChildNodes(container);Code language: PHP (php)注意: innerHTML
次のコードも、ノードのすべての子ノードを削除します。
parent.innerHTML = '';Code language: PHP (php)ただし、子ノードのイベントハンドラーが削除されないため、メモリリークが発生する可能性があるため、お勧めしません。
このチュートリアルは役に立ちましたか?