HTML DOM文档对象
DOM(文档对象模型)是HTML和XML的应用程序接口。DOM将把整个页面规划成由节点层级构成的文档。HTML或XML页面的每个部分都是一个节点的衍生物。请考虑下面的HTML页面:
<html>
<head>
<title>DOM页面</title>
</head>
<body>
<p>Hello Word</p>
</body>
</html>
这段代码可以用DOM绘制成一个节点层次图。如下:
html
| → head
| | → title
| | → DOM页面
| → body
| → p
| → hello word
DOM通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。用DOM API 可以轻松地删除、添加和替换节点。
1、为什么DOM必不可少
自从IE4.0和Netscape Navigator4.0开始支持不同形式的动态HTML(DHTML),开发者首次能够在不重载网页的情况下修改它的外观和内容。这是Web技术的一大飞跃,不过也带来了极大地问题。Netscape和微软各自开发的DHTML,从而结束了Web开发者只编写HTML页面就可以再所有浏览器中访问的时期。
业界决定必须要做点什么以保持Web的夸平台特性,他们担心如果放任Netscape和微软公司这样做,Web必将分化成两个独立的部分,每一部分只使用与特定的浏览器。因此,负责制定Web通信标准的团体W3c (World Wide Web Consortium) 就开始制定DOM。
2、DOM的各个Level(版本)
DOM Level 1是由W3C与1998年10月提出的。它是由两个模块构成,即DOM Core 和DOM HTML。前者提供了基于XML文档的结构图,一遍访问和操作文档的任意部分;后者添加了一些HTML专用的对象和方法,从而扩展了DOM Core。
PS:DOM不是JavaScript转悠的,事实上许多其他语言都实现了它。不过,Web浏览器中的DOM意境用ECMAScript实现了,现在是JavaScript语言的一个很大组成部分。
DOM Level 1只有一个目标,即规划文档的结构,DOM Level 2的目标就广泛多了。对原始DOM的扩展添加了对鼠标和用户界面事件(DHTML对此有丰富的支持)、范围、便利的支持,并通过对象接口添加了对CSS的支持。由Level 1引入的原始DOM Core 也加入了对XML命名空间的支持。
DOM Core 2引入了几种DOM新模块,用于处理新的接口类型:
DOM视图:描述跟踪文档的各种视图的接口;
DOM事件:描述事件的接口;
DOM样式:描述处理基于CSS样式的接口;
DOM便利和范围:描述便利和操作文档树的接口。
DOM Level 3引入了以统一的方式载入和报讯文档的方法以及验证文档的方法,从而进一步扩展了DOM。在Level 3中,DOM Core被扩展为支持所有的XML 1.0特性,包括XML Infoset、XPATH和XML Base。
更多JavaScript内容