DOM即“文档对象模型”。基于语义的逻辑结构,DOM将网页内的元素与内容呈现为一个清晰、易读的树状模型。在这个理想化的树状模型中,任何一个元素或是内容,都只有自己唯一的一个节点。即便这个文档拥有巨量的内容与繁复的结构,只要它本身语义逻辑没有错误,那么用DOM都可以轻易地将这个文档中的任意一个元素或内容检索出来。简言之,对于网页前端开发人员而言,DOM就是一个用于检索网页内任意元素或内容的索引目录.
DOM的发展,与WEB标准化的大趋势相关甚密。只有基于正确的语义逻辑,DOM才能正确地发挥其功用。如今,正确的语义结构、表现与内容分离等要求,都已经成为网页设计中的基本要求。因此,在网页前端开发中,DOM的存在,无疑是为表现层、行为层甚至内容层面的连接提供了一个绝佳的API,成为热门的Ajax应用中不可或缺的组成部分。
DOM基础
JavaScript
DOM应用基于浏览器客户端的JavaScript技术,通过JavaScript对文档中的对象(Object)进行检索、操作,几乎可以完成任何我们想要的任务。因此,想要熟练地掌握DOM技术,对于JavaScript的学习也是必不可少的。值得注意的几个要点是:
- 提前对变量进行声明,尽管这不是必须的。
- 尽量在自定义函数中使用var关键字声明局部变量。如果不使用var,那么该变量将成为全局变量。在一个庞大的JavaScript程序中,变量的混乱将是一场噩梦。
几个概念
- D(文档):当创建了一个网页并将其加载到WEB浏览器中时,DOM便将根据这个网页创建出了一个文档对象。
- O(对象):所谓的对象,即一种独立的数据集合。例如文档对象,即是文档中元素与内容的数据集合。与某个特定对象相关联的变量,称之为这个对象的属性。可以通过某个特定对象去调用的函数被称为这个对象的方法。
- M(模型):自然是文档对象的树状模型咯。在这个树状模型中,网页中的元素与内容表现为一个个相互连接的节点(node)。
节点类型
- 元素节点:在HTML中,<body>、<p>、<a>等一系列标签,即是这个文档的元素节点。元素节点,组成了文档模型的语义逻辑结构。
- 文本节点:包含在元素节点中的内容部分,如<p>标签中的文本等等。一般情况下,不为空的文本节点都是可见并呈现于浏览器中的。
- 属性节点:元素节点的属性,如<a>标签的href属性与title属性等等。一般情况下,大部分属性节点都是隐藏在浏览器背后并不可见的。而且,属性节点总是被包含于元素节点当中。