JavaScript中易混淆的DOM属性及方法对比
JavaScript中易混淆的DOM属性及方法对比
ParentNode.children VS Node.prototype.childNodes
ParentNode.children:该属性继承自ParentNode,返回值是一个HTMLCollection实例,成员是当前节点的所有元素子节点,该属性只读,且该属性是动态集合。
Node.prototype.childNodes:该属性继承自Node,返回值是一个NodeList实例,成员是当前节点的所有子节点(包括但不限于元素子节点),该属性也是个动态集合。
ParentNode.firstElementChild VS Node.prototype.firstChild
ParentNode.firstElementChild:该属性返回当前节点的第一个元素子节点,如果没有任何元素子节点,则返回null。
Node.prototype.firstChild:该属性返回当前节点的第一个子节点(包括但不限于元素子节点),如果没有任何子节点则返回null。
ParentNode.lastElementChild VS Node.prototype.lastChild
同上。
ChildNode.remove() VS Node.prototype.removeChild()
ChildNode.remove():该方法用于从父节点中移除当前节点,没有返回值。
el.remove(); // 从DOM中移除了el节点
Node.prototype.removeChild():该方法接受一个子节点作为参数,用于从当前节点移除该子节点,返回值是被移除的子节点。需要注意的是,被移除的节点依然存在于内存之中,但不再是DOM的一部分,所以,一个节点被移除以后,可以复用。
document.body.removeChild(el); // 从DOM中移除了el节点
ChildNode.before() VS Node.prototype.insertBefore()
ChildNode.before():该方法用于在当前节点的前面,插入一个或多个同级节点,插入完成后,新节点与当前节点拥有相同的父节点。该方法无返回值。
var p = document.createElement('p');
var p1 = document.createElement('p');
// 插入元素节点
el.before(p);
// 插入文本节点
el.before('Hello');
// 插入多个元素节点
el.before(p, p1);
// 插入元素节点和文本节点
el.before(p, 'Hello');
Node.prototype.insertBefore():该方法接受两个参数,第一个参数newNode,第二个参数referenceNode,用于将newNode插入到referenceNode前面,返回值是插入的新节点newNode。注意,newNode的类型必须是Node,也就是说该方法不能用于插入文本节点。当referenceNode不是当前节点的子节点是将会报错。
ChildNode.replaceWith() VS Node.prototype.replaceChild()
ChildNode.replaceWith():该方法接受一个参数newNode,当前节点江北newNode节点替换。该函数无返回值。
var span = document.createElement('span');
el.replaceWith(span); // el将被span节点替换,但el仍在内存中
Node.prototype.replaceChild():该方法接受两个参数:newChild和oldChild。oldChild将会被newChild替换,返回值是oldChild。
JavaScript中易混淆的DOM属性及方法对比的更多相关文章
- JavaScript中的window对象的属性和方法;JavaScript中如何选取文档元素
一.window对象的属性和方法 ①setTimeout()方法用来实现一个函数在指定毫秒之后运行,该方法返回一个值,这个值可以传递给clearTimeout()用于取消这个函数的执行. ②setIn ...
- javascript中易犯的错误有哪些
javascript中易犯的错误有哪些 一.总结 一句话总结: 比如循环中函数的使用 函数中this的指向谁(函数中this的使用) 变量的作用域 1.this.timer = setTimeout( ...
- JavaScript 节点操作Dom属性和方法(转)
JavaScript 节点操作Dom属性和方法 一些常用的dom属性和方法,列出来作为手册用. 属性: 1.Attributes 存储节点的属性列表(只读) 2.childNodes 存储 ...
- C#中易混淆的知识点
C#中易混淆的知识点 一.引言 今天在论坛中看到一位朋友提出这样的一个问题,问题大致(问题的链接为:http://social.msdn.microsoft.com/Forums/zh-CN/52e6 ...
- lua中易混淆函数
lua中易混淆的函数 ipairs和pairs: ipairs只能顺序遍历table,遇到key不是数字就会退出 pairs可以遍历table中所有元素 ----------------------- ...
- JavaScript -- 时光流逝(四):js中的 Math 对象的属性和方法
JavaScript -- 知识点回顾篇(四):js中的 Math 对象的属性和方法 1. Math 对象的属性 (1) E :返回算术常量 e,即自然对数的底数(约等于2.718). (2) LN2 ...
- JavaScript中四种不同的属性检测方式比较
JavaScript中四种不同的属性检测方式比较 1. 用in方法 var o = {x:1}; "x" in o; //true "y" in o; //fa ...
- 使用 JavaScript 中的 document 对象的属性,根据下拉框中选择的属性,更改页面中的字体颜色和背景颜色
查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的 document 对象的属性,根据下拉框中选择的属性,更改页面中的字体颜色和背景颜色 实现思路: 在页面的 <body&g ...
- 深入理解javascript函数系列第三篇——属性和方法
× 目录 [1]属性 [2]方法 前面的话 函数是javascript中的特殊的对象,可以拥有属性和方法,就像普通的对象拥有属性和方法一样.甚至可以用Function()构造函数来创建新的函数对象.本 ...
随机推荐
- [LeetCode] 80. Remove Duplicates from Sorted Array II ☆☆☆(从有序数组中删除重复项之二)
https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/discuss/27976/3-6-easy-lines-C% ...
- java通过HttpClient方式和HttpURLConnection方式调用WebService接口
1.引入maven依赖: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifac ...
- linux服务器用nginx做网站内页之间301的跳转方法
例: 要将这个页面 /topic/show-228-1.html 做301跳转到 /dance/topic-show-228-1.html nginx的伪静态规则就这样写: rewrite ^/top ...
- easyui combobox模糊搜索
combobox实现模糊搜索功能 <input class="easyui-combobox" id="hybq_PADD" name="hyb ...
- Java 访问限制符 在同一包中或在不同包中:使用类创建对象的权限 & 对象访问成员变量与方法的权限 & 继承的权限 & 深入理解protected权限
一.实例成员与类成员 1. 当类的字节码被加载到内存, 类中类变量.类方法即被分配了相应内存空间.入口地址(所有对象共享). 2. 当该类创建对象后,类中实例变量被分配内存(不同对象的实例变量互不相同 ...
- 部署你的CRM程序
教你发布CRM 发布CRM你将使用以下软件 nginx uWSGI CentOS7 CRM项目文件 virtualenv supervisor WSGI.uWSGI python web服务器开发 ...
- HFun.快速开发平台(五)=》自定义系统数据选择
本篇介绍HFun.快速开发平台的另一项系统常用功能:系统数据或参数选择,主要应用在表单录入中信息的选择,如类别,编号等.先贴出本系统实现的页面效果: 如上图所示,系统中将参数的选择统一展现为该方式,开 ...
- j2ee期末项目 新闻发布系统需求文档
1 绪论 1.1 开发背景 现如今社会是信息化的社会,掌握的信息越多越全面越快速的人,就会在各方面的竞争当中,占据优势,正所谓知己知彼百战不殆,信息的不对称性将会是失败的主要诱因之一.信息的时效性越来 ...
- 异构去堆叠 | 一种完美提升网络高可用SLA的方案
行业内接入网络去堆叠已经逐步成为主流方向,在大型互联网公司也已经批量部署.但由于京东集团不同的业务需求及历史原因,没有条件完全复制目前主流的ARP转主机路由方式的去堆叠方案,这促使我们设计一种尽可能满 ...
- Lavarel Route::resource
RESTful Resource controller A RESTful resource controller sets up some default routes for you and ev ...