预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共38页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第5章文档对象模型(DOM) 文档对象模型(DocumentObjectModel:DOM),最初是W3C为了解决浏览器混战时 代不同浏览器环境之间的差别而制定的模型标准,主要是针对IE和NetscapeNavigator。W3C 解释为:“文档对象模型(DOM)是一个能够让程序和脚本动态访问和更新文档内容、结构 和样式的语言平台,提供了标准的HTML和XML对象集,并有一个标准的接口来访问并操 作它们。”它使得程序员可以很快捷地访问HTML或XML页面上的标准组件,如元素、样 式表、脚本等等并作相应的处理。DOM标准推出之前,创建前端Web应用程序都必须使用 JavaApplet或ActiveX等复杂的组件,现在基于DOM规范,在支持DOM的浏览器环境中, Web开发人员可以很快捷、安全地创建多样化、功能强大的Web应用程序。本章只讨论HTML DOM。 5.1DOM概述 文档对象模型定义了JavaScript可以进行操作的浏览器,描述了文档对象的逻辑结构及 各功能部件的标准接口。主要包括如下方面: z核心JavaScript语言参考(数据类型、运算符、基本语句、函数等) z与数据类型相关的核心对象(String、Array、Math、Date等数据类型) z浏览器对象(window、location、history、navigator等) z文档对象(document、images、form等) JavaScript使用两种主要的对象模型:浏览器对象模型(BOM)和文档对象模型(DOM), 前者提供了访问浏览器各个功能部件,如浏览器窗口本身、浏览历史等的操作方法;后者则 提供了访问浏览器窗口内容,如文档、图片等各种HTML元素以及这些元素包含的文本的 操作方法。在早期的浏览器版本中,浏览器对象模型和文档对象模型之间没有很大的区别。 观察下面的简单HTML代码: //源程序5.1 <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0//EN" "http://www.w3.org/TR/REC-html140/strict.dtd"> <html> <head> <metahttp-equiv=content-typecontent="text/html;charset=gb2312"> <title>FirstPage!</title> </head> <body> <h1>Test!</h1> <!--NOTE!--> <p>Welcometo<em>DOM</em>World!</p> <ul> <li>Newer</li> </ul> </body> </html> 在DOM模型中,浏览器载入这个HTML文档时,它以树的形式对这个文档进行描述, 其中各HTML的每个标记都作为一个对象进行相关操作,如图5.1所示。 图5.1实例的家谱树 可以看出,html为根元素对象,可代表整个文档,head和body两个分支,位于于同一 层次,为兄弟关系,存在同一父元素对象,但又有各自的子元素对象。 在支持脚本的浏览器发展过程中,出现了如下6种不同的文档对象模型,如表5.1所示: 表5.1文档对象模型的各个版本及浏览器支持 文档对象模型浏览器支持 NN2,NN3,IE3/J1,IE3/J2,NN4,IE4,IE5,NN6,IE5.5, BasicObjectModel(基本对象模型) IE6,Moz1,Safari1 NN3,IE3.01(OnlyforMac),NN4,IE4,IE5,NN6,IE5.5, BasicPlusImages(基本附加图像) IE6,Moz1,Safari1 NN4Extensions(NN4扩展)NN4 IE4Extensions(IE4扩展)IE4,IE5,IE5.5,IE6(所有版本的一些功能需要Win32OS) IE5Extensions(IE5扩展)IE5,IE5.5,IE6(所有版本的一些功能需要Win32OS) W3CDOM(W3C文档对象模型I、II)IE5,NN6,IE5.5,Moz1,Safari1(均为部分) 术语:IE4表示InternetExplorer4,NN4表示NetscapeNavigator4,Moz1表示Mozilla1,其余类推 DOM不同版本的存在给客户端程序员带来了很多的挑战,编写当前浏览器中最新对象 模型支持的JavaScript脚本相对比较容易,但如果使用早期版本的浏览器访问这些网页,将 会出现不支持某种属性或方法的情况。如果要使设计的网页能运行于绝大多数浏览器中,显 而易见将是个难题。因此,W3CDOM对这些问题做了一些标准化工作,新的文档对象模型 继承了许多原始的对象模型,同时还提供了文档对象引用的新方法。