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 元素:
|
|