2.1 DOM简介
2.1.1 DOM
DOM是Document Object Model——文档对象模型的缩写,是 W3C 定义的访问文档标准。
W3C 文档对象模型(DOM)是中立于平台和语言的接口,它允许程序和脚本动态地访问、更新文档的内容、结构和样式。
W3C DOM 标准被分为 3 个不同的部分:
Core DOM :所有文档类型的标准模型
XML DOM:XML 文档的标准模型
HTML DOM:HTML 文档的标准模型
在JavaScript中的DOM一般指的是HTML DOM,以后将HTML DOM称为DOM。
总之,DOM 是 JavaScript 操作网页的接口,作用是将网页转为一个 JavaScript 对象,从而灵活的对HTML进行处理。
2.1.2 节点
节点(NODE)是DOM 的最小组成单位。HTML文档,就是由各种不同类型的节点组成,形象的称为DOM树。根据DOM标准,HTML 文档中的所有事物都是节点。
DOM树:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css"><!--CSS样式代码--></style>
<script type="text/javascript"><!--JavaScript代码--></script>
<link rel="stylesheet" type="text/css" href=""/><!--外链CSS样式代码-->
<script src="" type="text/javascript" charset="utf-8"></script><!--外链JavaScript代码-->
</head>
<body>
<div id="diva"></div><!--HTML代码-->
</body>
</html>
主要节点的类型:
文档节点:Document,整个文档树的顶层节点
元素节点:Element,网页的各种HTML标签(比如body、a等)
属性节点:Attr,网页元素的属性(比如class="right"、src=“abc.jpg”)
文本节点:Text,标签之间或标签包含的文本
注释节点:Comment,注释
DocumentFragment:文档的片段
浏览器提供一个原生的节点对象Node,节点都继承了Node,因此具有一些共同的属性和方法。
节点的三个重要属性:
DOM中每个节点都是一个对象,它有三个重要的属性,分别是:
节点的名称:nodeName
节点的值:nodeValue
节点的类型:nodeType
节点的节点值:
元素节点:1
属性节点:2
文本节点:3
注释节点:8
document节点:9
操作文档的能力:
通过这个DOM,JS具有了操纵文档的能力:
JavaScript 能改变页面中的所有 HTML 元素
JavaScript 能改变页面中的所有 HTML 属性
JavaScript 能改变页面中的所有 CSS 样式
JavaScript 能删除已有的 HTML 元素和属性
JavaScript 能添加新的 HTML 元素和属性
JavaScript 能对页面中所有已有的 HTML 事件作出反应
JavaScript 能在页面中创建新的 HTML 事件