初识DOM
浏览器中的渲染引擎(内核)。负责把HTML和CSS文件转换成对象的形式,保存在内存中。
浏览器真正显示在窗口内的页面的数据来源,其实是这些被转换成内存中的数据对象。而所有页面中的元素类型实例(对象),都会通过引用归总到一个根对象上。这个根对象 通过window这个全局对象的document属性引用着。
html中的每个标签都有自己的类型定义,每个标签在内存中都会是一个类型实例(对象)。这些类型上有着很多原型方法和实例属性,只要能获取到这些对象的引用,就能通过这些对象上的方法来改变页面内容和样式,来实现页面的交互。
那么问题来了,浏览器怎么知道该定义什么类型,每个类型要定义哪些原型方法,哪些实例属性呢?
这个时候就有了DOM,DOM全称 Document Object Mode。
DOM有两层意义
一层 是标准
如何转换HTML文档的标准,主要就是需要定义的类型,以及类型上有哪些属性和方法这些标准。
二层 是内存中的一个对象
指的就是 这个根据html文件数据在内存中的对象(这个对象引用这 所有相关元素的实例)。
DOM不仅定义了HTML这种文档的规范,还有XML、 SVG。所以说DOM其实也可以操作XML和SVG。
DOM类型与继承关系
绿色部分就是我们HTML中的标签对应的类型 。
html中的文本和注释都有对应的Text类型和Comment类型来进行处理。
整个文档就是HTMLDocument类型的实例,window.document就会指向该实例,我们再通过document.getElementById()来获得标签的实例。
Attr就是用来处理标签的属性的类型。
除叶子节点外,其余都是抽象类,是无法生成实例的。
实验
HTMLHtmlElement
接口代表HTML文档的<html>
元素,它是HTML文档的根元素,包含了文档的头部和正文。
文本是Text类型,属性是Attr类型,他们都会作为子节点出现。
DOM基础操作相关属性和方法
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.