本教程操作环境:windows7系统、javascript1.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)
其中参数 node 为要删除节点。如果删除成功,则返回被删除节点;如果失败,则返回 null。
当使用 removechild() 方法删除节点时,该节点所包含的所有子节点将同时被删除。
示例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怎么删除子元素的详细内容。
