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 在firebug调试时用console.log的方法
May 10 Javascript
node.js中的fs.mkdirSync方法使用说明
Dec 17 Javascript
jQuery向后台传入json格式数据的方法
Feb 13 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
Mar 24 Javascript
jQuery+Pdo编写login登陆界面
Aug 01 Javascript
JS弹出窗口的运用与技巧大全
Nov 01 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 Javascript
JS运动改变单物体透明度的方法分析
Jan 23 Javascript
Angularjs实现控制器之间通信方式实例总结
Mar 27 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
Feb 14 jQuery
JS使用cookie保存用户登录信息操作示例
May 30 Javascript
jquery实现有过渡效果的tab切换
Jul 17 jQuery
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异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
用nodeJS搭建本地文件服务器的几种方法小结
2017/03/16 NodeJs
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
微信小程序实现点击效果
2019/06/21 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
使用python分析git log日志示例
2014/02/27 Python
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
2014/10/23 Python
在Python中关于中文编码问题的处理建议
2015/04/08 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
Python中常见的异常总结
2018/02/20 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
python实现函数极小值
2019/07/10 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
匈牙利最大的健身制造商和销售商:inSPORTline
2018/10/30 全球购物
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
.NET方向面试题
2014/11/20 面试题
行政文秘岗位职责范本
2014/02/10 职场文书
公司领导班子对照材料
2014/08/18 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
初三英语教学计划
2015/01/23 职场文书
《火烧云》教学反思
2016/02/23 职场文书
python实现会员管理系统
2022/03/18 Python