DOM知识点
DOM
D:document(文档)
O:object(对象):用户定义对象,内建对象,宿主对象
M:model(模型):“map”,树
节点
- 元素节点(element node):body,ul,li……
获取元素节点的方法: - 通过元素id(getElementById )
- 通过标签名(getElementsByTagName)
- 通过类名(getElementsByClassName)
- 属性节点(attribute node)
<p title="yang">hahahahahahha</p>
title=”yang”是一个属性节点
属性节点总是包含在元素节点中 - 文本节点
获取和设置属性
- getAttribute(获取)
1
2
3
4
5//例子
var paras=document.getElementsByTagName("p");
for(var i=0;i<paras.lengeh;i++){
alert(paras[i].getAttribute("title"));
} - setAttribute(设置)
若属性本不存在,实际就将完成两项操作:1.创建属性,2.设置值。
注:并不会改变源文件扽静态内容。1
2
3//例子
var shopping=document.getElementById("purchases");
shopping.setAttribute("title","a list of goods");
实例:JavaScript图片库
- childNodes属性
用来获取任何一个元素的所有子元素。1
2
3
4
5
6//获取body所有子元素个数的函数例子
function countBodyChildren(){
var body_element=document.getElementsByTagName("body")[0];
alert(body_element.childNodes.length);
}
window.onload=countBodyChildren; - nodeType属性
- 元素节点的nodeType属性值是1。
- 属性节点的nodeType属性值是2。
- 文本节点的nodeType属性值是3。
alert(body_element.nodeType);
- nodeValue属性
得到和设置一个节点的值。alert(discription.nodeValue);
- firstChild和lastChild属性
这两个属性都是为了个简便且直观的获取对应的元素。
注意点
- DOM是一套对文档内容进行抽象和概念化的方法。
- 变量名中不能包含空格和标点符号(美元$符号除外)。
- 变量名允许包含字母,数字,美元符号和下划线(但第一个字符不能是数字)。
- 变量申明实例:my_mood或者myMood(峰驼式camel case:首选)。
- Javascript是弱类型语言,不需要对变量进行类型声明。
- 变量可以包含操作。
- 字符串可以做拼接操作。
- innerHTML属性和documen.write方法都是HTML的专有属性。
var message="I am feeling"+"happy";
- 每个元素节点都是一个对象。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 人间一趟!
评论