今天小编跟大家讲解下有关html DOM简介 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关html DOM简介 的相关资料,希望小伙伴们看了有所帮助。
今天我们将了解WEB编程中一个重要的概念DOM(document Object Model)文档对象模型,它帮助我们使用Javascript(或其他编程语言)操纵文档。
一 DOM是什么
DOM是html和XML文档的编程接口。它不同于把html源码在浏览器窗口当做页面或使用文本编辑器当做纯文本展示,它是对文档的另一种结构化的表述。DOM把文档的所有节点都解析为一个对象,并提供了一些属性和方法来描述它们。
DOM是W3C的标准。它被分为3个部分:
核心DOM:针对任何结构化文档的标准模型XML DOM:针对XML文档的标准模型html DOM:针对html文档的标准模型DOM不是一种编程语言,它是一种标准,一个模型,它与编程语言相对独立。编程语言都可以按照这种模型实现对文档的访问和处理。
注:因为我们主要是学习WEB编程,所以接下来文章中即将提到的DOM均指html DOM,使用到的DOM API也均是Javascript脚本语言实现。
二 DOM的访问
我们知道,各个浏览器对Javascript都有不同的实现,所以它们在实现DOM标准时,也会有一些差异,但它们既然都遵循了该标准,所以又呈现出了不同程度一致性。所以我们在使用DOM时,并不需要做任何特别的操作,如果碰到有差异的地方(主要体现在方法名称和参数上),只需根据不同浏览器使用他们各自实现的相关方法即可。实际上他们的实现都遵循了统一标准。
DOM把文档视做树结构:
整个文档是一个文档节点
每个 html 标签是一个元素节点
包含在 html 元素中的文本是文本节点
每一个 html 属性是一个属性节点
注释属于注释节点
通过这个节点树,Javascript可以轻松的访问并操作这些节点。
三 DOM节点类型
每个节点对象有都有一个nodeType,nodeName和nodevalue属性,通过这几个属性的值,我们可以获取该节点的相关信息:
节点类型nodeName 返回nodevalue 返回1Element元素名null2Attr属性名称属性值3Text#text节点的内容4CDATASection#cdata-section节点的内容5EntityReference实体引用名称null6Entity实体名称null7ProcessingInstructiontarget节点的内容8Comment#comment注释文本9document#documentnull10documentType文档类型名称null11documentFragment#document 片段null12Notation符号名称null四 DOM分级
一级DOM
1级DOM在1998年10月份成为W3C的提议,由DOM核心与DOM html两个模块组成。DOM核心能映射以XML为基础的文档结构,允许获取和操作文档的任意部分。DOM html通过添加HTML专用的对象与函数对DOM核心进行了扩展。
二级DOM
2级DOM在一级DOM的基础上进行了扩展,它引进了几个新DOM模块来处理新的接口类型:
DOM视图:描述跟踪一个文档的各种视图(使用css样式设计文档前后)的接口;
DOM事件:描述事件接口;
DOM样式:描述处理基于css样式的接口;
DOM遍历与范围:描述遍历和操作文档树的接口;
三级DOM
3级DOM通过引入统一方式载入和保存文档和文档验证方法对DOM进行进一步扩展,DOM3包含一个名为“DOM载入与保存”的新模块,DOM核心扩展后可支持XML1.0的所有内容,包括XML Infoset、 XPath、和XML base。
来源:爱蒂网