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 相关文章推荐
javascript 解决表单仍然提交即使监听处理函数返回false
Mar 14 Javascript
jquery中对表单的基本操作代码
Jul 29 Javascript
Javascript读取cookie函数代码
Oct 16 Javascript
JQuery select控件的相关操作实现代码
Sep 14 Javascript
js判断屏幕分辨率的代码
Jul 16 Javascript
JavaScript中的单引号和双引号报错的解决方法
Sep 01 Javascript
推荐一个自己用的封装好的javascript插件
Jan 29 Javascript
JavaScript数组迭代器实例分析
Jun 09 Javascript
浅谈Angular的$q, defer, promise
Dec 20 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
Mar 09 Javascript
vue中使用cropperjs的方法
Mar 01 Javascript
详解Vue.js自定义tipOnce指令用法实例
Dec 19 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+DBM的同学录程序(5)
2006/10/09 PHP
在同一窗体中使用PHP来处理多个提交任务
2008/05/08 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
Javascript 各浏览器的 Javascript 效率对比
2008/01/23 Javascript
JavaScript 5 新增 Array 方法实现介绍
2012/02/06 Javascript
jquery索引在使用中的一些困惑
2013/10/24 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
python3爬取各类天气信息
2018/02/24 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
详解python内置常用高阶函数(列出了5个常用的)
2020/02/21 Python
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
皮肤科医师岗位职责
2013/12/04 职场文书
浪费资源的建议书
2014/03/12 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
银行委托书范本
2014/04/04 职场文书
社团活动总结
2014/04/28 职场文书
教师批评与自我批评
2014/10/15 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
新手初学Java List 接口
2021/07/07 Java/Android
Pygame Time时间控制的具体使用详解
2021/11/17 Python
python绘制云雨图raincloud plot
2022/08/05 Python