一、W3C DOM 标准被分为 3 个不同的部分:
1、Core DOM - 所有文档类型的标准模型【IE中的所有DOM对象都是以COM对象的形式实现的】
2、XML DOM - XML 文档的标准模型
3、HTML DOM - HTML 文档的标准模型

二、JavaSript原生对象中的DOM对象【HTML DOM】
1、Node类型
javascript中所有的节点类型都继承自Node类型,所有节点类型都共享着相同的基本属性和方法。

2、Node的节点类型    
a、Document类型    document
b、Element类型    元素节点类型
c、Text类型    文本节点
d、Comment类型        注释节点

3、Node类型的相关属性和方法
a、Node类型属性
nodeType    节点类型【节点类型-->对应的返回值】()
Document--> 9;Element -->1;TextNode -->3;Comment--> 8
document 是Document构造函数的实例
document.body是Element构造函数的实例
document.body.firstChild 是Comment构造函数的实例或Text构造函数的实例

nodeName    该属性取决于节点类型,如果是元素类型,值为元素的标签名

nodeValue    该属性取决于节点类型,如果是元素类型,值有null

childNodes    【返回相应节点的所有孩子节点组成的类数组对象】
NodeList是一种类数组对象用来保存一组有序的节点,NodeList是基于DOM结构动态执行查询的结果,DOM结构变化可以自动反应到NodeList对象中。
访问时可以通过中括号访问,也可以通过item()方法访问。

可以使用slice方法将NodeList转换为数组
eg:

    var arr = Array.prototype.slice.call(nodes,0);

parentNode        相应子节点的父元素节点

firstChild  所有孩子节点中的第一个孩子节点

lastChild  所有孩子节点中的最后一个孩子节点

previousSibling  前一个兄弟节点

nextSibling  后一个兄弟节点

ownerDocument
指向表示整个文档的文档节点。任何节点都属于它所在的文档,任何节点都不能同时存在于两个或更多个文档中。
eg:

    console.log(document.body.ownerDocument === document);    //true
console.log(document.head.ownerDocument === document); //true
console.log(document.getElementsByTagName('div').ownerDocument); //undefined

b、Node类型方法
hasChildNodes()    【返回值为boolean类型】        该节点是否有孩子节点

以下四个方法都需要使用父节点对象进行调用
appendChild(要添加的节点)
添加一个节点作为该节点的最后一个孩子节点    【返回新增的节点】
若要添加的参数节点已经为文档的一部分,位置更新而不插入【任何DOM节点不能同时出现在文档中的多个位置】

insertBefore(要插入的节点,[参照的节点])    
在参照的节点前面插入一个同胞节点    【返回要插入的节点】
若第二个参数为null将会将要插入的节点追加在NodeList后面【作为该节点的lastChild】

replaceChild(要插入的节点,要替换的节点)
移除要替换的节点并在其位置插入要插入的节点    【返回要替换的节点】

removeChild(要移除的节点)    
移除要移除的节点    【返回要移除的节点】

其他方法
cloneNode(boolean)   【克隆节点】
用于创建调用这个方法的节点的一个完全相同的副本。
参数为布尔类型参数为true时,表示深复制,即复制节点以及整个子节点数。
参数为false的时候,表示浅复制,只复制节点本身。
该方法不会复制添加到DOM节点中的JavaScript属性,例如事件处理程序等。
该方法只复制特定,子节点,其他一切都不复制。
但是IE中可以复制,建议标准相同,在复制之前,移除所有事件处理程序。

normalize()   【删除空白节点,将两个文本节点合并为一个文本节点】
处理文档树中的文本节点,由于解析器的实现或DOM操作等原因,可能会出现文本节点不包含文本,或者接连出现两个文本节点,
当在某个节点上调用了该方法,会删除空白节点,会找到相邻的两个文本节点,并将他们合并为一个文本节点。

js文本对象模型【DOM】(十一)的更多相关文章

  1. js文本对象模型[DOM]【续】(Node节点类型)

    一.Document类型    document实例1.常用的一些属性documentElement 始终指向HTML页面中的<html>元素.body 直接指向<body>元 ...

  2. DOM(文本对象模型)简介

    DOM(文本对象模型)简介 在正式开始介绍jQuery处理XML前我们来了解一些必备的基础知识. DOM是HTML或者XML结构的一种展现形式,通过编程对DOM进行修改可以达到修改HTML/XML的目 ...

  3. 认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。元素、属性和文本的树结构(节点树)。

    认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面代码 ...

  4. JavaScript编程:文档对象模型DOM

    5.文档对象模型DOM JS里的DOM和XML里的DOM不同,但是解析方式是一样的. document.getElementByID("id")根据ID获得元素节点. 创建和操作节 ...

  5. 【译】用jQuery 处理XML-- DOM(文本对象模型)简介

    用jQuery 处理XML--写在前面的话 用jQuery 处理XML-- DOM(文本对象模型)简介 用jQuery 处理XML--浏览器中的XML与JavaScript 用jQuery 处理XML ...

  6. 文本对象模型(Document Object Model)

    本文内容: 1. 概述 2. DOM中的节点类型 3. DOM节点的选取 4. 存取元素属性 5.DOM元素的增删 6.小结 ★ 概述 文本对象模型(DOM)是一个能够让程序和脚本动态访问和更新文档内 ...

  7. js基础例子dom+原型+oop基础知识记录01

    //oo:概念是计算机中对于现实世界的理解和抽象的方法 //由计算机利用编程技术发展到现在的产物 //面向对象几要素 //对象:由属性和方法组成的集合 //属性:保存数据,存储在对象内存空间中的唯一的 ...

  8. JS对象与Dom对象与jQuery对象之间的区别

    前言 通过问题看本质: 举例: js的写法:document.getElementById('save').disabled=true; 在jquery中我是这样写的 $("#save&qu ...

  9. js中的DOM操作汇总

    一.DOM创建 DOM节点(Node)通常对应于一个标签,一个文本,或者一个HTML属性.DOM节点有一个nodeType属性用来表示当前元素的类型,它是一个整数: Element,元素 Attrib ...

随机推荐

  1. Win10登陆界面卡住,进去后无法打开网络相关的设置,谷歌浏览器无法上网

    今天Win10抽风,进入登录页面输入用户名和密码之后,大约过了10分钟才进入桌面.重启后仍然如此. 经过调查,问题主要出在网络相关模块上,网络无法正常初始化,导致登录一直卡在网络初始化上. 解决方法如 ...

  2. odoo开发笔记 -- 还原数据库后,异常:ir_attachment: IOError: [Errno 2] No such file or directory: u'/var/...'

    场景描述: 恢复Odoo数据后,抛出错误导致无法进入页面 -- ::, INFO aeo odoo.addons.base.ir.ir_attachment: _read_file reading / ...

  3. 在线visio软件,在线流程图软件,在线绘图、在线画图

    1. https://www.bullmind.com/ 推荐bullmind的在线visio软件,一种低成本的Visio替代品.bullmind是基于 网络的绘图工具,具有出色图表功能.您可以使用b ...

  4. npm 加速之 yarn cnpm pnpm

    npm 加速之 yarn cnpm pnpm 有没有感觉到使用 npm 的时候很慢? 安装速度 几Kb/s 不说, 还装着装着出错了, 奇奇怪怪的问题.这种情况大多数还是因为网络的原因, 很多时候虽然 ...

  5. Airflow使用指南

    1.只执行单个任务 将downstream和recursive按钮的点击状态取消,然后点击clear,最后点击run

  6. phpspreadsheet 中文文档 粗翻版

    2019年10月11日09:32:33 官方使用文档  https://phpspreadsheet.readthedocs.io/en/stable/topics/accessing-cells/ ...

  7. 细说RESTful API之文档管理

    目录 API文档格式 文档管理方式 基于注解实现,代码和文档在一起 Swagger Api2Doc 基于API测试工具生成 Postman rest-client 独立编写文档 RAP DOCleve ...

  8. Postgresql常用命令汇总

    sudo -u postgres psql #进入postgresql ALTER USER postgres WITH password 'postgres'; #修改postgres用户密码 ps ...

  9. YII2框架集成go!aop

    AOP实践:YII2框架本身拥有一个功能,叫做行为.它可以动态的为当前的类附加额外的功能,但这种功能在代码层级结构是静态的,有侵入性的. 下面以YII2框架集成go!aop库为例,介绍在YII2中如何 ...

  10. npx vs npm

    npx vs npm npx 使用教程