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解密入门 最终变量劫持
Jun 25 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
Sep 19 Javascript
jQuery实现带延迟效果的滑动菜单代码
Sep 02 Javascript
JS锚点的设置与使用方法
Sep 05 Javascript
Node.js数据库操作之查询MySQL数据库(二)
Mar 04 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
Apr 10 jQuery
jQuery图片缩放插件smartZoom使用实例详解
Aug 25 jQuery
seajs中模块依赖的加载处理实例分析
Oct 10 Javascript
实例教学如何写vue插件
Nov 30 Javascript
vue2.0结合Element-ui实战案例
Mar 06 Javascript
详解Vue的异步更新实现原理
Dec 22 Vue.js
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 Vue.js
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
探讨php中header的用法详解
2013/06/07 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
&amp;lt;script defer&amp;gt; defer 是什么意思
2009/05/10 Javascript
基于jQuery的可以控制左右滚动及自动滚动效果的代码
2010/07/25 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
2010/12/19 Javascript
js动态设置鼠标事件示例代码
2013/10/30 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
jQuery实现左右切换焦点图
2015/04/03 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
Node实战之不同环境下配置文件使用教程
2018/01/02 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
2019/06/04 Javascript
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
2019/09/06 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
Python 递归函数详解及实例
2016/12/27 Python
Python中使用双下划线防止类属性被覆盖问题
2019/06/27 Python
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
Linux的主要特性
2014/10/06 面试题
食堂个人先进事迹
2014/01/22 职场文书
2015年酒店客房部工作总结
2015/04/25 职场文书
唐山大地震的观后感
2015/06/05 职场文书
遗愿清单观后感
2015/06/09 职场文书
公司费用报销管理制度
2015/08/04 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
化工生产实习心得体会
2016/01/22 职场文书
Python还能这么玩之用Python修改了班花的开机密码
2021/06/04 Python
图神经网络GNN算法
2022/05/11 Python
flex布局中使用flex-wrap实现换行的项目实践
2022/06/21 HTML / CSS