ホームページ > 記事 > ウェブフロントエンド > JavaScriptで子要素を削除する方法
JavaScript では、removeChild() メソッドを使用して子要素を削除できます。このメソッドは、指定された要素の子ノード リストからノードを削除できます。つまり、指定された子要素を削除できます。構文形式は「親要素オブジェクト.removeChild(子要素)」です。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
JavaScript は子要素を削除します
JavaScript では、removeChild() メソッドを使用して子要素を削除できます。例を通してそれについて詳しく学びましょう。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> div{ border: 2px dashed #006DAF; padding: 10px; } p{ border: 2px dashed #006DAF; padding: 10px; } </style> </head> <body> <div>div元素 <h2>一个标题</h2> <p>一个段落</p> </div><br /> <input id="btn" type="button" value="删除div中的子元素p"> </body> <script> function deleteChild() { var div = document.querySelector("div"); var p = document.querySelector("p"); div.removeChild(p); } var btn = document.getElementById("btn").onclick = function() { deleteChild(); } </script> </html>
レンダリング:
説明:
removeChild( )メソッドは、子ノードのリストからノードを削除できます。使用法は次のとおりです。
nodeObject.removeChild(node)
パラメータ ノードは、削除されるノードです。削除が成功した場合は削除されたノードが返され、失敗した場合は null が返されます。
removeChild() メソッドを使用してノードを削除すると、そのノードに含まれるすべての子ノードが同時に削除されます。
例 1
以下の例では、ボタンをクリックすると赤枠内の第 1 階層のタイトルが削除されます。
<div id="red"> <h1>红盒子</h1> </div> <div id="blue">蓝盒子</div> <button id="ok">移动</button> <script> var ok = document.getElementById ("ok"); //获取按钮元素的引用 ok.onclick = function () { //为按钮注册一个鼠标单击事件处理函数 var red = document.getElementById ("red"); //获取红色盒子的引用 var h1 = document.getElementsByTagName("h1")[0]; //获取标题元素的引用 red.removeChild(h1); //移出红盒子包含的标题元素 } </script>
例 2
青いボックスを削除したいが、その親要素を特定できない場合は、parentNode 属性を使用して親要素の参照をすばやく取得し、これを使用できます。削除操作の実装を参照してください。
var ok = document.getElementById ("ok"); //获取按钮元素的引用 ok.onclick = function () { //为按钮注册一个鼠标单击事件处理函数 var blue= document.getElementById ("blue"); //获取蓝色盒子的引用 var parent = blue.parentNode; //获取蓝色盒子父元素的引用 parent.removeChild(blue); //移出蓝色盒子 }
削除したノードをドキュメント内の別の場所に挿入する場合は、removeChild() メソッドを使用するか、appendChild() メソッドと insertBefore() メソッドを使用してこれを実現できます。
例 3
ノードの削除は、DOM ドキュメント操作でノードの作成および挿入と同じくらい頻繁に使用されます。この目的のために、ノード削除操作関数をカプセル化できます。
//封装删除节点函数 //参数:e表示预删除的节点 //返回值:返回被删除的节点,如果不存在指定的节点,则返回undefined值 function remove (e) { if (e) { var _e = e.parentNode.removeChild(e); return _e; } return undefined; }
例 4
指定したノード配下のすべての子ノードを削除する場合、カプセル化方法は次のとおりです:
//封装删除所有子节点的方法 //参数:e表示预删除所有子节点的父节点 function empty (e) { while (e.firstChild) { e.removeChild (e.firstChild); } }
[推奨学習: javascript上級チュートリアル]
以上がJavaScriptで子要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。