js removeChild 方法深入理解


Posted in Javascript onAugust 16, 2016

1. 概述

删除后的节点虽然不在文档树中了,但其实它还在内存中,可以随时再次被添加到别的位置。

当你遍历一个父节点的子节点并进行删除操作时,要注意,children属性是一个只读属性,并且它在子节点变化时会实时更新

// 拿到待删除节点:
var self = document.getElementById('to-be-removed');
// 拿到父节点:
var parent = self.parentElement;
// 删除:
var removed = parent.removeChild(self);
removed === self; // true

2. example

<!DOCTYPE html>
<html>
<head>
</script>
</head>
<body>
<ul id="test-list">
  <li>JavaScript</li>
  <li>Swift</li>
  <li>HTML</li>
  <li>ANSI C</li>
  <li>CSS</li>
  <li>DirectX</li>
</ul>
<script>
var p= document.getElementById('test-list');
var length = p.children.length;
var i=0;
for(; i<length; ){
  var li = p.children[i];
  var text = li.innerText;
  if(text!=='JavaScript' && text!=='HTML' && text!=='CSS'){

    p.removeChild(li);
    alert(p.children.toString());
    length--;
  }else{
    i++;
  }
}
// 测试:
;(function () {
  var
    arr, i,
    t = document.getElementById('test-list');
  if (t && t.children && t.children.length === 3) {
    arr = [];
    for (i = 0; i < t.children.length; i ++) {
      arr.push(t.children[i].innerText);
    }
    if (arr.toString() === ['JavaScript', 'HTML', 'CSS'].toString()) {
      alert('测试通过!');
    }
    else {
      alert('测试失败: ' + arr.toString());
    }
  }
  else {
    alert('测试失败!');
  }
})();
</script>
</body>
</html>

以上这篇js removeChild 方法深入理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 前的按键判断代码
Mar 19 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
Aug 23 Javascript
IE的fireEvent方法概述及应用
Feb 22 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
Apr 08 Javascript
IE、FF浏览器下修改标签透明度
Jan 28 Javascript
Vue.js基础知识汇总
Apr 27 Javascript
JavaScript简介_动力节点Java学院整理
Jun 26 Javascript
浅析Vue中method与computed的区别
Mar 06 Javascript
在Vue组件中获取全局的点击事件方法
Sep 06 Javascript
小程序自定义日历效果
Dec 29 Javascript
对layer弹出框中icon数字参数的说明介绍
Sep 04 Javascript
使用layui定义一个模块并使用的例子
Sep 14 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
Aug 16 #Javascript
总结Node.js中的一些错误类型
Aug 15 #Javascript
自动化测试读写64位操作系统的注册表
Aug 15 #Javascript
Wireshark基本介绍和学习TCP三次握手
Aug 15 #Javascript
JavaScript中removeChild 方法开发示例代码
Aug 15 #Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
Aug 15 #Javascript
Web安全测试之XSS实例讲解
Aug 15 #Javascript
You might like
php的ZipArchive类用法实例
2014/10/20 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
js 异步处理进度条
2010/04/01 Javascript
location.href语句与火狐不兼容的问题
2010/07/04 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
小程序从手动埋点到自动埋点的实现方法
2019/01/24 Javascript
vue router导航守卫(router.beforeEach())的使用详解
2019/04/19 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
python使用百度翻译进行中翻英示例
2014/04/14 Python
Python写的贪吃蛇游戏例子
2014/06/16 Python
Python装饰器decorator用法实例
2014/11/10 Python
Python类属性与实例属性用法分析
2015/05/09 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
python3利用smtplib通过qq邮箱发送邮件方法示例
2017/12/03 Python
Python装饰器用法实例总结
2018/02/07 Python
Python中最大递归深度值的探讨
2019/03/05 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
python-地图可视化组件folium的操作
2020/12/14 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
数字漫画:comiXology
2020/06/13 全球购物
中层干部岗位职责
2013/12/18 职场文书
四风存在的原因分析
2014/02/11 职场文书
《黄山奇石》教学反思
2014/04/19 职场文书
明星员工获奖感言
2014/08/14 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
拯救大兵瑞恩观后感
2015/06/09 职场文书
读书笔记怎么写
2015/07/01 职场文书
python 调用js的四种方式
2021/04/11 Python