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 模式对话框终极版实现代码
Sep 28 Javascript
5款Javascript颜色选择器
Oct 25 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
Jan 03 Javascript
ie7+背景透明文字不透明超级简单的实现方法
Jan 17 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
Sep 01 Javascript
学习javascript的闭包,原型,和匿名函数之旅
Oct 18 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
Jul 06 Javascript
jquery实现侧边栏左右伸缩效果的示例
Dec 19 jQuery
vue生成token并保存到本地存储中
Jul 17 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
Jul 25 Javascript
如何通过javaScript去除字符串两端的空白字符
Feb 06 Javascript
vue中axios封装使用的完整教程
Mar 03 Vue.js
关于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基础知识:函数基础知识
2006/12/13 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
PHP中include和require的区别实例分析
2017/05/07 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
php时间戳转换代码详解
2019/08/04 PHP
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
小程序click-scroll组件设计
2019/06/18 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
vue实现抖音时间转盘
2019/09/08 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
python连接mysql并提交mysql事务示例
2014/03/05 Python
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
在vscode中配置python环境过程解析
2019/09/28 Python
基于Python解密仿射密码
2019/10/21 Python
python常用数据重复项处理方法
2019/11/22 Python
python求绝对值的三种方法小结
2019/12/04 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
美国室内和室外装饰花盆购物网站:ePlanters
2019/03/22 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
建筑行业的大学生自我评价
2013/12/08 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
庆七一活动总结
2014/08/27 职场文书
交通安全横幅标语
2014/10/07 职场文书
放假通知格式
2015/04/14 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server
SQL中的三种去重方法小结
2021/11/01 SQL Server