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.load的方法可以一直load下去
Mar 28 Javascript
js二维数组定义和初始化的三种方法总结
Mar 03 Javascript
JavaScript中对象属性的添加和删除示例
May 12 Javascript
javascript实现textarea中tab键的缩排处理方法
Jun 26 Javascript
JS作用域深度解析
Dec 29 Javascript
BootStrapTable 单选及取值的实现方法
Jan 10 Javascript
BootStrap CSS全局样式和表格样式源码解析
Jan 20 Javascript
vue如何在自定义组件中使用v-model
May 14 Javascript
基于React+Redux的SSR实现方法
Jul 03 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
Jun 18 jQuery
小程序websocket心跳库(websocket-heartbeat-miniprogram)
Feb 23 Javascript
详解ES6 中的Object.assign()的用法实例代码
Jan 11 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 GD绘制24小时柱状图
2008/06/28 PHP
通过PHP CLI实现简单的数据库实时监控调度
2009/07/01 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
IE无法设置短域名下Cookie
2010/09/23 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
JavaScript实现拼音排序的方法
2012/11/20 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
详解基于Node.js的HTTP/2 Server实践
2018/05/31 Javascript
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
2020/10/29 Javascript
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
python中的列表推导浅析
2014/04/26 Python
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
python获取url的返回信息方法
2018/12/17 Python
python将一个英文语句以单词为单位逆序排放的方法
2018/12/20 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
selenium如何定位span元素的实现
2021/01/13 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
Bluebella美国官网:英国性感内衣品牌
2018/10/04 全球购物
建筑人员岗位职责
2013/12/25 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
公共机构节能宣传周活动总结
2014/07/09 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
监考失职检讨书
2015/01/26 职场文书
永远是春天观后感
2015/06/12 职场文书
python关于集合的知识案例详解
2021/05/30 Python
总结Python连接CS2000的详细步骤
2021/06/23 Python