怎样理解Node对象接口
dom中的节点都继承自Node接口, 也就是说, 所有的节点都具有Node接口所规定的属性和方法, 比如下面这个 <a> 标签, 它也继承了Node的所有属性和方法:
可以认为Node接口所规定的方法和属性是操作DOM的基础, 因此格外重要. 下面是它的所有属性和方法:
属性
Node.prototype.nodeType --- 返回一个整数值,表示节点的类型
Node.prototype.nodeName --- 返回节点的名称
Node.prototype.nodeValue --- 返回一个字符串,表示当前节点本身的文本值,该属性可读写
Node.prototype.textContent --- 返回当前节点和它的所有后代节点的文本内容
Node.prototype.baseURI --- 返回一个字符串,表示当前网页的绝对路径。浏览器根据这个属性,计算网页上的相对路径的 URL, 该属性为只读
Node.prototype.ownerDocument --- 返回当前节点所在的顶层文档对象,即document
对象
Node.prototype.nextSibling --- 返回紧跟在当前节点后面的第一个同级节点
Node.prototype.previousSibling --- 返回当前节点前面的、距离最近的一个同级节点
Node.prototype.parentNode --- 返回当前节点的父节点
Node.prototype.parentElement --- 返回当前节点的父元素节点
Node.prototype.firstChild,Node.prototype.lastChild --- 返回当前节点的第一个 / 最后一个子节点
Node.prototype.childNodes --- 返回一个类似数组的对象(NodeList
集合),成员包括当前节点的所有子节点
Node.prototype.isConnected --- 返回一个布尔值,表示当前节点是否在文档之中
方法
Node.prototype.appendChild() --- 接受一个节点对象作为参数,将其作为最后一个子节点,插入当前节点
Node.prototype.hasChildNodes() --- 返回一个布尔值,表示当前节点是否有子节点
Node.prototype.cloneNode() --- 用于克隆一个节点
Node.prototype.insertBefore() --- 将某个节点插入父节点内部的指定位置
Node.prototype.removeChild() --- 接受一个子节点作为参数,用于从当前节点移除该子节点
Node.prototype.replaceChild() --- 用于将一个新的节点,替换当前节点的某一个子节点
Node.prototype.contains() --- 返回一个布尔值,表示参数节点是否满足某种条件
Node.prototype.compareDocumentPosition() --- 与contains
方法完全一致,返回一个六个比特位的二进制值,表示参数节点与当前节点的关系
Node.prototype.isEqualNode(),Node.prototype.isSameNode() --- 返回一个布尔值,用于检查两个节点是否相等 / 同一节点
Node.prototype.normalize() --- 用于清理当前节点内部的所有文本节点(text)
Node.prototype.getRootNode() --- 返回当前节点所在文档的根节点document
,与ownerDocument
属性的作用相同
怎样理解Node对象接口的更多相关文章
- 深入理解Node.js中的垃圾回收和内存泄漏的捕获
深入理解Node.js中的垃圾回收和内存泄漏的捕获 文章来自:http://wwsun.github.io/posts/understanding-nodejs-gc.html Jan 5, 2016 ...
- PHP 面向对象编程和设计模式 (1/5) - 抽象类、对象接口、instanceof 和契约式编程
PHP高级程序设计 学习笔记 2014.06.09 什么是面向对象编程 面向对象编程(Object Oriented Programming,OOP)是一种计算机编程架构.OOP 的一条基本原则是计算 ...
- Atitit 深入理解抽象类与接口 attilax总结
Atitit 深入理解抽象类与接口 attilax总结 1.1. 主要区别接口侧重于动作抽象..抽象类是属性名词抽象..1 1.2. 抽象层次类>>抽象类>>接口1 1.3. ...
- 理解Selection对象
理解Selection对象 Selection对象的属性如下: var selection = window.getSelection(); console.log(selection); 通过上面的 ...
- Java基础之深入理解Class对象与反射机制
深入理解Class对象 RRIT及Class对象的概念 RRIT(Run-Time Type Identification)运行时类型识别.在<Thinking in Java>一书第十四 ...
- 方便大家学习的Node.js教程(一):理解Node.js
理解Node.js 为了理解Node.js是如何工作的,首先你需要理解一些使得Javascript适用于服务器端开发的关键特性.Javascript是一门简单而又灵活的语言,这种灵活性让它能够经受住时 ...
- 深入理解Java的接口和抽象类(转)
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
- 深入理解Java的接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
- Node对象属性
1.Node对象属性一 * nodeName * nodeType * nodeValue * 使用dom解析html时候,需要ht ...
随机推荐
- 九款Web服务器性能压力测试工具
一.http_load 程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会 ...
- [go]mysql使用
mysql驱动使用 初始化 import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) DB, e ...
- HTTP 与 HTTPS协议
HTTP 协议 通讯协议:服务器和客户端进行数据交互的形式 HTTP 工作原理:HTTP 协议工作于客户端-服务端架构为上.浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 Web 服 ...
- 纯CSS实现加载转圈样式
不同的项目中对于等待加载时转圈圈的样式是不同的,有的是传统的转圈的gif图片,见得比较多的是将转圈圈的换成了可爱的图标.有时候项目中加入等待加载的图片会很违和,不符合美观,所以需要用CSS做一个.下面 ...
- Qt编写自定义控件14-环形进度条
前言 环形进度条,用来展示当前进度,为了满足大屏UI的需要特意定制,以前有个叫圆环进度条,不能满足项目需要,只能重新定做,以前的进度间距不能自适应分辨率,而且当前进度对应的反的进度不能单独设置颜色,即 ...
- 一百一十一:CMS系统之后端权限验证功能
实现方式 使用装饰器的形式,将权限判断加在视图上 声明接口需要什么权限,用户访问接口的时候,判断用户是否有此权限 权限判断,接收权限 def permission_required(permissio ...
- MySQL数据库的库表迁移
最近在研究MySQL数据库的库表迁移问题,主要分为两种情况,一种情况是迁移数据库的表的全部字段,另一种是迁移数据库的表的部分字段.前一种情况是直接使用mysqldump命令来实现,后一种情况则是采用数 ...
- Daily in Ipin
Friday, October 23 1. [道高一尺,墙高一丈:互联网封锁是如何升级的] Monday, October 12 1. 晕死,忘了ubuntu的登录密码,鼓捣了半个小时,终于成功进入系 ...
- Vuex模块:开启命名空间
模块开启命名空间后,享有独自的命名空间. { "模块1":{ state:{}, getters:{}, mutations:{}, actions:{} }, "模块2 ...
- pycharm中文专业版安装使用
激活码 MTW881U3Z5-eyJsaWNlbnNlSWQiOiJNVFc4ODFVM1o1IiwibGljZW5zZWVOYW1lIjoiTnNzIEltIiwiYXNzaWduZWVOYW1lI ...