js removeChild 方法深入理解

 更新时间:2016年08月16日 08:52:21   投稿:jingxian  
下面小编就为大家带来一篇js removeChild 方法深入理解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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 方法深入理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • JS实现百度搜索接口及链接功能实例代码

    JS实现百度搜索接口及链接功能实例代码

    这篇文章主要介绍了JS实现百度搜索接口及链接功能实例代码,需要的朋友可以参考下
    2018-02-02
  • 微信小程序事件绑定基本语法示例详解

    微信小程序事件绑定基本语法示例详解

    这篇文章主要介绍了微信小程序事件绑定基本语法示例详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-04-04
  • 原生JS实现百叶窗特效

    原生JS实现百叶窗特效

    这篇文章主要为大家详细介绍了原生JS实现百叶窗特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • js实现录音上传功能

    js实现录音上传功能

    这篇文章主要为大家详细介绍了js实现录音上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • JS获取当前网址、主机地址项目根路径

    JS获取当前网址、主机地址项目根路径

    本文为大家提供JS如何获取当前网址、主机地址之后的目录及项目根路径的方法,喜欢的朋友可以收藏下
    2013-11-11
  • js限制文本框只能输入中文的方法

    js限制文本框只能输入中文的方法

    这篇文章主要介绍了js限制文本框只能输入中文的方法,涉及javascript正则匹配及鼠标事件的相关技巧,非常简单实用,需要的朋友可以参考下
    2015-08-08
  • JavaScript中不可忽略的Symbol的盘点

    JavaScript中不可忽略的Symbol的盘点

    Symbol类型的出现,为每个属性赋予了独一无二的标识符,无论项目多么复杂,Symbol都能确保属性键的绝对唯一性,下面我们就来看看JavaScript中那些不可忽略的Symbol吧
    2024-12-12
  • javascript json字符串到json对象转义问题

    javascript json字符串到json对象转义问题

    今天小编就为大家分享一篇关于javascript json字符串到json对象转义问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • JavaScript操作Oracle数据库示例

    JavaScript操作Oracle数据库示例

    这篇文章主要介绍了JavaScript操作Oracle数据库示例,本文使用ActiveXObject实现访问Oracle数据库,需要的朋友可以参考下
    2015-03-03
  • ES6中解构赋值实现变量批量赋值解放双手

    ES6中解构赋值实现变量批量赋值解放双手

    这篇文章主要为大家介绍了ES6中解构赋值实现变量批量赋值解放双手,变量的解构赋值,听起来很复杂,简单点说可以理解成批量操作变量赋值
    2022-04-04

最新评论