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 相关文章推荐
JS 巧妙获取剪贴板数据 Excel数据的粘贴
Jul 09 Javascript
表单元素事件 (Form Element Events)
Jul 17 Javascript
jquery-easyui关闭tab自动切换到前一个tab
Jul 29 Javascript
jQuery实现带动画效果的多级下拉菜单代码
Sep 08 Javascript
详解Bootstrap glyphicons字体图标
Jan 04 Javascript
jquery树形菜单效果的简单实例
Jun 06 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
Oct 24 Javascript
js控制台输出的方法(详解)
Nov 26 Javascript
Webpack 之 babel-loader文件预处理器详解
Mar 23 Javascript
Vue.js实现备忘录功能
Jun 26 Javascript
node.js事件轮询机制原理知识点
Dec 22 Javascript
解决vue项目获取dom元素宽高总是不准确问题
Jul 29 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判断json格式是否正确的实现代码
2017/09/20 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
javascript 隔行换色函数代码
2010/10/24 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
2015/12/07 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
2017/05/03 Javascript
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
JS无限级导航菜单实现方法
2019/01/05 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
python实现rest请求api示例
2014/04/22 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
2020/05/21 Python
python归并排序算法过程实例讲解
2020/11/04 Python
在线购买世界上最好的酒:BoozeBud
2018/06/07 全球购物
Notino法国:购买香水和化妆品
2019/04/15 全球购物
大学生学年自我鉴定
2014/02/10 职场文书
1亿有多大教学反思
2014/05/01 职场文书
绿色出行口号
2014/06/18 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis