一.什么是DOM
HTML文档对象模型(HTML Document Object Model)定义了访问和处理HTML文档的标准方法。HTML DOM 把HTML文档呈现为带有元素、属性和文本的树结构(节点树)。
在1998年,W3C发布了第一级的DOM规范。这个规范允许访问和操作HTML页面中的每一个单独的元素。所有的浏览器都执行了这个标准,因此,DOM的兼容性问题也几乎难觅踪影了。
DOM可被JavaScript用来读取、改变HTML、XHTML以及XML文档。被分为不同的部分(核心、XML及HTML)和级别(DOM Level 1/2/3):
Core DOM
定义了一套标准的针对任何结构化文档的对象
XML DOM
定义了一套标准的针对XML文档的对象
HTML DOM
定义了一套标准的针对HTML文档的对象。
二.文档树(节点树)
如下HTML文档:
- <html>
- <head>
- <title>DOM Tutorial</title>
- </head>
- <body>
- <h1>DOM Lesson one</h1>
- <p>Hello world!</p>
- </body>
- </html>
<html>
<head>
<title>DOM Tutorial</title>
</head>
<body>
<h1>DOM Lesson one</h1>
<p>Hello world!</p>
</body>
</html>
1)除文档节点之外的每个节点都有父节点。
2)大部分元素节点都有子节点。
3)当节点分享同一个父节点时,它们就是同辈(同级节点)
4)节点也可以拥有后代,后代指某个节点的所有子节点,或者这些子节点的子节点
5)节点也可以拥有先辈。先辈是某个节点的父节点,或者父节点的父节点
三.节点信息
每个节点都拥有包含着关于节点某些信息的属性。这些属性是:
nodeName(节点名称) ,nodeValue(节点值), nodeType(节点类型)
1.nodeName
nodeName属性含有某个节点的名称。
元素节点的nodeName是标签名称
属性节点的nodeName是属性名称
文本节点的nodeName永远是#text
文档节点的nodeName永远是#document
注释:nodeName所包含的XML元素的标签名称永远是大写的
2.nodeValue
对于文本节点,nodeValue属性包含文本。
对于属性节点,nodeValue属性包含属性值。
nodeValue属性对于文档节点和元素节点是不可用的。
3.nodeType
nodeType属性可返回节点的类型。
最重要的节点类型是:
元素类型 节点类型
元素 1
属性 2
文本 3
注释 8
文档 9
四.查找节点
1.通过使用 getElementById() 和getElementsByName()和 getElementsByTagName() 方法
2.通过使用一个元素节点的childNodes,parentNode、firstChild以及lastChild属性
根节点
有两种特殊的文档属性可用来访问根节点:
document.documentElement 可返回存在于XML以及HTML文档中的文档根节点
document.body 对HTML页面的特殊扩展,提供了对<body>标签的直接访问
posted on 2008-11-24 23:58
Vincent-chen 阅读(298)
评论(0) 编辑 收藏 所属分类:
JavaScript