HTML DOM 与 核心(Core) DOM区别与联系
什么是DOM?
DOM (Document Object Model文档对象模型)是 W3C(万维网联盟)的标准。
DOM 定义了访问 HTML 和 XML 文档的标准:
“W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。”
W3C DOM 标准被分为 3 个不同的部分:
· 核心 DOM - 针对任何结构化文档的标准模型
· XML DOM - 针对 XML 文档的标准模型
· HTML DOM - 针对 HTML 文档的标准模型
DOM的组成
DOM由3部分组成,分别是Core DOM、XML DOM和HTML DOM。
DOM节点树。DOM以树形结构组织HTML文档,文档中每个标签或元素都是一个节点,各个节点之间都存在着关系。例如<head>和<body>的父节点都是<html>。
HTML DOM与核心(Core)DOM的区别区别与联系
相对于核心DOM,HTML DOM定义了用于操作HTML文档专用的API是对核心DOM的扩展。
两者不同之处在于:HTML DOM提供了大量便利的方法和属性,这些方法和属性与现有的程序模型一致,更便于脚本的编写者控制。
两者联系:HTML DOM的很多对象模型来自于核心DOM,例如,HTMLDocument接口继承自核心DOM的Document接口,但HTMLDocument包含有专用于HTML文档操作的方法和属性。
| 分类/区别 | 核心(Core)DOM | HTML DOM |
|---|---|---|
| 对象 | Document,Node, ElementNode,TextNode,AttributeNode,CommentNode,NodeList | image,Table,Form,Input,Select...HTML标签对象化 |
| 核心DOM提供了统一的操作接口:createElementappendChildsetAttributeremoveAttributenodeName | HTML DOM提供了封装好的各种对象:ImageSelectOption | |
| 创建新元素 | var newNode=document.createElement("img") | var newNode=new Image(); |
| 给元素添加属性 | e.setAttribure(‘’,‘’)e.setAttribureNode(attr) | img.src='';img.id='';imd.title='';img.className=''img.style.display=''; |
| 适用场合 | 核心DOM适合操作节点,如创建,删除,查找等把DOM看成树,则核心 DOM适合,增减枝干,查找特定枝干 | HTML DOM适合操作属性,如读取或修改属性的值给枝干更改外观,颜色,属性,样式 |