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 相关文章推荐
Js动态创建div
Sep 25 Javascript
js onclick事件传参讲解
Nov 06 Javascript
javascript字符串替换及字符串分割示例代码
Dec 12 Javascript
js查找节点的方法小结
Jan 13 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
Mar 28 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
Aug 16 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
Aug 16 Javascript
Vue全家桶实践项目总结(推荐)
Nov 04 Javascript
JS简单获取并修改input文本框内容的方法示例
Apr 08 Javascript
jquery实现垂直手风琴导航栏
Feb 18 jQuery
vant实现购物车功能
Jun 29 Javascript
JavaScript大数相加相乘的实现方法实例
Oct 18 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
动态新闻发布的实现及其技巧
2006/10/09 PHP
用PHP实现将GB编码转换为UTF8
2006/11/25 PHP
PHP 表单提交给自己
2008/07/24 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
php 检查电子邮件函数(自写)
2014/01/16 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
PHP面向对象程序设计组合模式与装饰模式详解
2016/12/02 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
python通过socket查询whois的方法
2015/07/18 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
python多进程间通信代码实例
2019/09/30 Python
Django框架反向解析操作详解
2019/11/28 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
职业生涯规划怎么写
2013/12/29 职场文书
《莫高窟》教学反思
2014/02/25 职场文书
个人承诺书格式
2014/06/03 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python
分享一些Java的常用工具
2021/06/11 Java/Android