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 相关文章推荐
DWR Ext 加载数据
Mar 22 Javascript
js获取图片大小的函数代码
Sep 20 Javascript
JavaScript动态加载样式表的方法
Mar 21 Javascript
Node.js开启Https的实践详解
Oct 25 Javascript
浅谈js函数的多种定义方法与区别
Nov 29 Javascript
PHP获取当前页面完整URL的方法
Dec 02 Javascript
详解微信小程序 相对定位和绝对定位
May 11 Javascript
js移动端图片压缩上传功能
Aug 18 Javascript
vue权限路由实现的方法示例总结
Jul 29 Javascript
生产制造追溯系统之再说条码打印
Jun 03 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
Aug 14 Javascript
js实现飞机大战游戏
Aug 26 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
使用adodb lite解决问题
2006/12/31 PHP
php IP及IP段进行访问限制的代码
2008/12/17 PHP
PHP中文分词的简单实现代码分享
2011/07/17 PHP
php图片添加水印例子
2016/07/20 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
document.createElement()用法
2013/03/13 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
2015/03/31 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
2017/01/22 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
vue实现组件之间传值功能示例
2018/07/13 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
python中的闭包用法实例详解
2015/05/05 Python
python获取目录下所有文件的方法
2015/06/01 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
Sanic框架应用部署方法详解
2018/07/18 Python
Python实现将Excel转换成xml的方法示例
2018/08/25 Python
Python字典循环添加一键多值的用法实例
2019/01/20 Python
详解python算法之冒泡排序
2019/03/05 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
python实现批量命名照片
2020/06/18 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
《雷鸣电闪波尔卡》教学反思
2014/02/23 职场文书
临床医学专业求职信
2014/08/08 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书
Oracle配置dblink访问PostgreSQL的操作方法
2022/03/21 PostgreSQL
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript