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 相关文章推荐
一个实用的图片切换支持点击切换和自动轮播
Sep 09 Javascript
jQuery获取iframe的document对象的方法
Oct 10 Javascript
Javascript节点关系实例分析
May 15 Javascript
javascript实现简单查找与替换的方法
Jul 22 Javascript
Bootstrap禁用响应式布局的实现方法
Mar 09 Javascript
微信小程序 下拉菜单的实现
Apr 06 Javascript
Javascript继承机制详解
May 30 Javascript
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
js防抖和节流的深入讲解
Dec 06 Javascript
Vue 实现简易多行滚动&quot;弹幕&quot;效果
Jan 02 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
Jan 26 Javascript
TypeScript中条件类型精读与实践记录
Oct 05 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
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
2014/04/29 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
jQuery实用技巧必备(上)
2015/11/02 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
小程序实现新用户判断并跳转激活的方法
2019/05/20 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
vue+element实现动态加载表单
2020/12/13 Vue.js
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
Python爬虫抓取代理IP并检验可用性的实例
2018/05/07 Python
Python爬虫包BeautifulSoup简介与安装(一)
2018/06/17 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
浅谈django channels 路由误导
2020/05/28 Python
python super()函数的基本使用
2020/09/10 Python
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
销售业务实习自我鉴定
2013/09/23 职场文书
物控部经理职务说明书
2014/02/25 职场文书
文化与传播毕业生求职信
2014/03/09 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
药剂专业求职信
2014/06/20 职场文书
求职自我评价怎么写
2015/03/09 职场文书
二手手机买卖合同范本(2019年版)
2019/10/28 职场文书
vue+spring boot实现校验码功能
2021/05/27 Vue.js
pandas求平均数和中位数的方法实例
2021/08/04 Python
原生JS实现分页
2022/04/19 Javascript
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis