DOM
一份文档就是一棵节点树。每个节点都是一个对象
节点分类:
- 元素节点 element node
- 文本节点 text node
- 属性节点 attribute node
获取元素:
有三种DOM方法可以获取元素
- getElementById:- 通过元素ID;
- 返回有着给定id属性值的节点对应的对象
- document 对象特有的函数;
 
| 
 | 
 | 
- getElementsByTagName:- 通过标签名;
- 返回一个对象数组,每个对象分别对应着文档里有着给定标签的一个元素;
 
| 
 | 
 | 
- getElementsByClassName:- 通过类名;
- 返回一个具有相同类名的元素的数组;
- 还可以查找带有多个类名的元素,在字符串参数中用空格分隔类名;
 
| 
 | 
 | 
获取和设置属性
- getAttribute:- 此方法不属于document对象,不能通过document对象调用;
 
| 
 | 
 | 
- setAttribute:- 与getAttribute一样,也只能用于元素节点;
- 通过 setAttribute 对文档修改后,通过浏览器的 view source 查看文档源代码时看到的仍是修改前的属性值。源于DOM的工作模式:先加载文档的静态内容,再动态刷新,动态刷新不影响文档的静态内容。
 
| 
 | 
 | 
应用js函数
事件处理函数
添加事件处理函数的语法:
| 
 | 
 | 
eg:
| 
 | 
 | 
childNodes 属性
- 一个包含某元素全部子元素的数组;
- 获取节点的childNodes属性:
| 
 | 
 | 
- 访问childNodes数组的第一个和最后一个元素:
| 
 | 
 | 
eg:在页面加载时显示 body元素的子元素的总个数
| 
 | 
 | 
nodeType属性
- 返回值是一个数字; - 元素节点的nodeType属性值:1; 
- 属性节点的nodeType属性值:2; 
- 文本节点的nodeType属性值:3; 
 
- 获取节点的nodeType属性: 
| 
 | 
 | 
nodeValue属性
- 用来得到和设置一个节点的值; 
- eg:刷新 id等于 description 的 p 元素: 
| 
 | 
 |