Javascript removeChild()删除节点及删除子节点的方法


Posted in Javascript onDecember 27, 2015

下面给大家介绍Javascript removeChild()删除节点的方法,具体详情如下所示:

在Javascript中,只提供了一种删除节点的方法:removeChild()。

removeChild() 方法用来删除父节点的一个子节点。

语法:

    parent.removeChild(thisNode)

参数说明:

 

参数 说明
thisNode 当前节点,即要删除的节点
parent 当前节点的父节点,即 thisNode.parentNode

例如,删除 id="demo" 的节点的语句为:

var thisNode=document.getElementById("demo");
thisNode.parentNode.removeNode(thisNode);

举例,删除节点:

<div id="demo">
  <div id="thisNode">点击删除我</div>
</div>
<script type="text/javascript">
document.getElementById("thisNode").onclick=function(){
  this.parentNode.removeChild(this);
}
</script>

实例演示:

 Javascript removeChild()删除节点及删除子节点的方法

可以看出来,虽然Javascript只提供了一种删除节点的方法,但是足够用了。

ps:JavaScript删除子节点的方法

HTML代码如下:

<div id="f"> 
 <div>a</div> 
 <div>b</div> 
 <div>c</div> 
</div>

如果想删除f节点下的所有子节点,很自然也很正常想到的方法应该就是下面的这段代码了:

var f = document.getElementById("f"); 
var childs = f.childNodes; 
for(var i = 0; i < childs.length; i++) { 
  alert(childs[i].nodeName); 
  f.removeChild(childs[i]); 
}

当程序运行后我们发现无论在FireFox还是在IE下,均不能完全的删除所有的子节点(FireFox中把空白区域也
当成节点,所以删除结点的结果会不一样的),这是因为当你把索引为0的子节点删除后那么很自然的原来索引
为1节点此时它的索引变成0了,而这时变量i已经变成1了,程序继续走时就会删除原先索引为2的现在为1的节点,这样程序运行的结果就是只删除了一半的子节点,用for in遍历结果也是一样的。想正常的删除全部节点
的话,我们应该从后面往前删除,代码如下:

for(var i = childs.length - 1; i >= 0; i--) { 
  alert(childs[i].nodeName); 
  f.removeChild(childs[i]); 
}

我们从索引最大值开始删除,采用递减的方法,这样索引便不会移动改变了。

Javascript 相关文章推荐
javascript去除字符串中所有标点符号和提取纯文本的正则
Jun 07 Javascript
JS实现样式清新的横排下拉菜单效果
Oct 09 Javascript
学习Bootstrap滚动监听 附调用方法
Jul 02 Javascript
JavaScript toUpperCase()方法使用详解
Aug 26 Javascript
微信小程序 Video API实例详解
Oct 02 Javascript
微信小程序五星评分效果实现代码
Apr 06 Javascript
详解vue中computed 和 watch的异同
Jun 30 Javascript
JS按钮闪烁功能的实现代码
Jul 21 Javascript
深入浅析Vue.js中 computed和methods不同机制
Mar 22 Javascript
js实现for循环跳过undefined值示例
Jul 02 Javascript
微信小程序地图实现展示线路
Jul 29 Javascript
swiper4实现移动端导航栏tab滑动切换
Oct 16 Javascript
JavaScript的removeChild()函数用法详解
Dec 27 #Javascript
JavaScript构造函数详解
Dec 27 #Javascript
JavaScript生成二维码图片小结
Dec 27 #Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
Dec 26 #Javascript
Knockout自定义绑定创建方法
Dec 26 #Javascript
JavaScript动态设置div的样式的方法
Dec 26 #Javascript
JS插件overlib用法实例详解
Dec 26 #Javascript
You might like
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
2014/04/29 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
基于JavaScript实现熔岩灯效果导航菜单
2017/01/04 Javascript
turn.js异步加载实现翻书效果
2019/07/25 Javascript
js 函数性能比较方法
2020/08/24 Javascript
python单例模式实例分析
2015/04/08 Python
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
python调用webservice接口的实现
2019/07/12 Python
django删除表重建的实现方法
2019/08/28 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
.net开发工程师面试题
2014/02/25 面试题
石油大学毕业生自荐信
2014/01/28 职场文书
遗产继承公证书
2014/04/09 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
2014新生大学四年计划书
2014/09/21 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
2016年庆“七一”主题党日活动总结
2016/04/05 职场文书
Vue的过滤器你真了解吗
2022/02/24 Vue.js
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server
OpenFeign实现远程调用
2022/08/14 Java/Android