DOM(Document Object Model)即文档对象模型。针对HTML和XML
文档的API(应用程序接口)。

DOM描绘了一个层次化的节点树,执行开发者加入、移除和改动页面的某一部分。当然这样说有些笼统。咱们接着往下看。

一、认识DOM

DOM 中的三个字母。D(文档)能够理解为整个Web载入的网页文档。O(对象)能够理解为类似window对象之类的东西。能够调用属性和方法,这里我们说的是document对象;M(模型)能够理解为网页文档的树型结构。

通过 JavaScript,您能够重构整个HTML文档。您能够加入、移除、改变或重排页面上的项目。

要改变页面的某个东西。JavaScript就须要对HTML文档中全部元素进行訪问的入口。这个入口,连同对HTML 元素进行加入、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。

DOM 可被 JavaScript 用来读取、改变 HTML、XHTML 以及 XML 文档。

DOM 定义了訪问 HTML 和 XML 文档的标准:

“W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它同意程序和脚本动态地訪问和更新文档的内容、结构和样式。

”

W3C DOM 标准被分为 3 个不同的部分:

  • Core DOM - 针对不论什么结构化文档的标准模型
  • XML DOM - 针对 XML 文档的标准模型
  • HTML DOM - 针对 HTML 文档的标准模型

节点:载入
HTML页面时。Web浏览器生成一个树型结构,用来表示页面内部结构。DOM将这样的树型结构理解为由节点组成。

节点彼此都有等级关系。

HTML 文档中的全部节点组成了一个文档树(或节点树)。HTML 文档中的每一个元素、属性、文本等都代表着树中的一个节点。树起始于文档节点,并由此继续伸出枝条,直到处于这棵树最低级别的全部文本节点为止。

从上图的树型结构,我们理解几个概念。html标签没有父辈。没有兄弟,所以html标签为根标签。

head标签是
html子标签,meta和title标签之间是兄弟关系。假设把每一个标签当作一个节点的话,那么这些节点组合成了一棵节点树。

依据 DOM,HTML 文档中的每一个成分都是一个节点。

    DOM 是这样规定的:节点种类能够分为三类:元素节点、文本节点、属性节点。

  • 整个文档是一个文档节点
  • 每个 HTML 标签是一个元素节点
  • 包括在 HTML 元素中的文本是文本节点
  • 每个 HTML 属性是一个属性节点
  • 凝视属于凝视节点

老师一直强调,要善于总结。时常总结。就像这些知识点,自己总认为会,然而到了用的时候发现自己并不能立即写出。所以自己要时常总结,联系知识到实际中。

走进DOM:HTML DOM的更多相关文章

  1. React v16-alpha 从virtual dom 到 dom 源码简读

    一.物料准备 1.克隆react源码, github 地址:https://github.com/facebook/react.git 2.安装gulp 3.在react源码根目录下: $npm in ...

  2. -_-#【Dom Ready / Dom Load】

    Dom Ready和Dom Load DOM Ready 详解 javascript的domReady 域名解析 - 加载html - 加载js和css - Dom Ready - 加载图片等其他信息 ...

  3. Virtual DOM 虚拟DOM的理解(转)

    作者:戴嘉华 转载请注明出处并保留原文链接( #13 )和作者信息. 目录: 1 前言 2 对前端应用状态管理思考 3 Virtual DOM 算法 4 算法实现 4.1 步骤一:用JS对象模拟DOM ...

  4. js 字符串转dom 和dom 转字符串

    js 字符串转dom 和dom 转字符串 博客分类: JavaScript   前言: 在javascript里面动态创建标准dom对象一般使用: var obj = document.createE ...

  5. javascript DOM和DOM操作的四种基本方法

    在了解了javascript的语言特性后,javascript真正大放光彩的地方来了——这就是javascript DOM Javascript DOM DOM(Document Object Mod ...

  6. 精讲 org.w3c.dom(java dom)解析XML文档

    org.w3c.dom(java dom)解析XML文档 位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效果可能会 ...

  7. 虚拟DOM Vitural DOM Tree

      提起Virtual DOM,总是给人一种高深莫测的感觉,大家都知道它比DOM快.那么Virtual DOM到底是何方神圣呢?在深入理解Virtual DOM之前,先让我们回顾一下DOM. 一.什么 ...

  8. DOM & Shadow DOM & Virtual DOM

    DOM & Shadow DOM & Virtual DOM What is the difference between Shadow DOM and Virtual DOM? ht ...

  9. BOM与DOM之DOM操作

    目录 一:DOM操作 1.DOM介绍 2.DOM标准规定HTML文档中的每个成分都是一个节点(node): 3.DOM操作需要用关键字 二:查找标签 1.id查找 类查找 标签查找(直接查找) 2.i ...

  10. 虚拟 DOM 与 DOM Diff

    虚拟 DOM 与 DOM Diff 本文写于 2020 年 9 月 12 日 虚拟 DOM 在今天已经是前端离不开的东西了,因为他的好处实在是太多了. 在<高性能 JavaScript>一 ...

随机推荐

  1. jquery模型(外壳实现)

    详细解释: 1.现在传入的参数是window,document,可以知道是它俩引用 2. 3. 4.每次调用jquery方法,都会创建一个实例,但是内存并没有暴涨,原因是:jquery里面new 的这 ...

  2. 动态规划(dp)专题

    航线设置   问题描述在美丽的莱茵河畔,每边都分布着N个城市,两边的城市都是唯一对应的友好城市,现需要在友好城市间开通航线以加强往来,但因为莱茵河常年大雾,如果开设的航线发生交叉就有可能出现碰船的现象 ...

  3. MyEclipse、IDEA常用快捷键

    一.MyEclipse快捷键 1. ctrl+shift+r:打开资源这可能是所有快捷键组合中最省时间的了.这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字 ...

  4. 切换Intellij ieda 调试为Visual Studio风格

  5. Redux 和 ngrx 创建更佳的 Angular 2

    Redux 和 ngrx 创建更佳的 Angular 2 翻译:使用 Redux 和 ngrx 创建更佳的 Angular 2 原文地址:http://onehungrymind.com/build- ...

  6. 002.VNC配置部署

    一 安装图形界面 在系统中安装相关图形界面 yum -y install xorg* yum -y install gnome* yum -y install glx*   或者 yum groupi ...

  7. SpringBoot详细研究-03系统集成

    据说杰克船长被黑客盗片了,看来信息安全依然任重而道远,本文以此为引子,来介绍下spring boot对于系统集成方面的支持. Spring Security提供一套安全框架,通过IOC和AOP来实现安 ...

  8. scheme的split实现

    再chez中并未找到一个split函数,基于尾递归,自己实现了了一个用于字符串拆分的split. (define split (lambda (str sep) (define loop (lambd ...

  9. SQL Server密码爆破工具SQLdict

    SQL Server密码爆破工具SQLdict SQL Server是Windows系统常用的数据库服务器.它广泛采用用户名和密码方式,进行身份认证.Kali Linux提供一款专用的数据库密码爆破工 ...

  10. flask run方法和run_simple

    1.Flask提供的Web服务器不适合在生产环境中使用 2.run方法启动flask集成的服务器: 例: if __name__ == '__main__': app.run(debug=True) ...