天天看点

JavaScript文档对象模型总结

开发工具与关键技术:Adobe Dreamweaver JavaScript

作者:李文韬

撰写时间:2020年4月27日

什么是文档对象模型:

文档对象模型:Document Object(DOM)

文档:文档表示的就是整个的html网页文档

对象:对象表示将一个网页中的每一个部分都转换为了一个对象

模型:使用模型来表示对象之间的关系,这样方便我们获取对象

节点:

–节点Node,是构成网页最基本的组成部分,网页中的每一个部分都可以称为一个节点

如:html标签、属性、文本、注释、整个文档…都是一个节点

–虽然都是节点,实际上他们的具体类型是不同的

如:标签称为元素节点、属性称为属性节点、文本称为文本节点、文档称为文档节点

–节点类型不同,属性和方法也都不同

常用节点分四类:

文档节点:整个html文档 元素节点:html文档中的html标签

属性节点:元素的属性 文本节点:html标签中的文本内容

文档节点(document):

文档节点document,代表的是整个html文档,网页中所有节点都是它的子节点。

document对象作为window对象的属性存在的,我们不用获取可以直接使用

通过该对象我们可以在整个文档访问内查找节点对象,并可以通过该对象创建各种节点对象

元素节点(Element)

html中的各种标签都是元素节点,这也是我们最常用的一个节点。

浏览器会将页面中所有的标签转换为一个元素节点,我们可以通过document来获取元素节点。

文本节点(Text):

文本节点表示的是html标签以外的文本内容,任意非html得文本都是文本节点。

包括可以字面结束的纯文本内容

文本节点一般是作为元素节点的子节点存在的

获取文本节点时,一般先要获取元素节点,再通过元素节点获取文本节点。

属性节点:

属性节点包括一个标签的属性,属性节点并非是元素节点的子节点,而是元素节点的一部分。

可以通过元素节点来获取指定的属性节点

nodeName属性:节点的名称

元素节点的nodeName与标签名相同

属性节点的nodeName是属性的名称

文本节点的nodeName永远是#text

文档节点的nodeName永远是#text

文档节点的nodeName永远是#document

nodeValue属性:节点的值

元素节点的nodeValue是undefind或null

文本节点的nodeValue是文本自身

属性节点的nodeValue是属性的值