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 相关文章推荐
jQuery - css() 方法示例详解
Jan 16 Javascript
extJS中常用的4种Ajax异步提交方式
Mar 07 Javascript
自己封装的常用javascript函数分享
Jan 07 Javascript
纯js实现瀑布流布局及ajax动态新增数据
Apr 07 Javascript
JavaScript严格模式详解
Jan 16 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
Sep 19 Javascript
VUE中的无限循环代码解析
Sep 22 Javascript
vue将时间戳转换成自定义时间格式的方法
Mar 02 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
Dec 06 Javascript
在react-antd中弹出层form内容传递给父组件的操作
Oct 24 Javascript
vue-cli4.0多环境配置变量与模式详解
Dec 30 Vue.js
js 实现Material UI点击涟漪效果示例
Sep 23 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
经典的星际争霸,满是回忆的BGM
2020/04/09 星际争霸
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
Yii的Srbac插件用法详解
2016/07/14 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
js实现兼容IE和FF的上下层的移动
2015/05/04 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
详解基于Bootstrap扁平化的后台框架Ace
2015/11/27 Javascript
纯js代码实现简单计算器
2015/12/02 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
js对字符串进行编码的方法总结(推荐)
2016/11/10 Javascript
javascript 闭包详解及简单实例应用
2016/12/31 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
2017/03/21 jQuery
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
配置node服务器并且链接微信公众号接口配置步骤详解
2019/06/21 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
js实现详情页放大镜效果
2020/10/28 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
使用python读取txt文件的内容,并删除重复的行数方法
2018/04/18 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
Pytorch实现WGAN用于动漫头像生成
2021/03/04 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
岗位廉洁从政承诺书
2014/03/27 职场文书
旅游节目策划方案
2014/05/26 职场文书
委托函范文
2015/01/29 职场文书
看上去很美观后感
2015/06/10 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python