本文转载自 脚本之家 www.jb51.net
一、DOM概念
1. "D":Docment,指的是文档
2. “O”:Object,指的是对象,在javascript有三种对象:用户定义对象、内建对象(JavaScript语言对象。如Math,Array)、宿主对象(浏览器对象)
3. "M":Model,值得是Model,某种事物的表现形式
二、节点
1. 元素节点 :<body> <p> <ul>等
2. 文本节点:<p>文本节点</p>、<li>文本节点</li>等
3. 属性节点:title id class 等
三、获取元素
三种方法:通过元素ID、通过标签名字、通过类名字来获取
请看下面实例:
1 2 3 4 5 6 7 | < h1 >What do you want to buy</ h1 > < p title = "a gentle reminder" >Donnot Forget TO Buy This Stuff</ p > < ul id = "purchases" > < li >A tin of beans</ li > < li class = "sale" >Cheese</ li > < li class = "sale important" >Milk</ li > </ ul > |
1、getElementsById(id) 返回一个对象
1 | var obj=document.getElementById( "purchases" ); |
2、getElementsByTagName() 返回一个对象数组
1 2 3 4 5 6 | var obj=document.getElementsByTagName( 'li' ) alert( typeof obj); alert(obj.length); for ( var i=0;i<obj.length;i++){ alert( typeof obj[i]); } |
3、getElementsByClassName() 返回一个对象数组
1 2 3 4 5 | var obj=document.getElementsByClassName( 'sale' ); alert( "具有sale类的元素个数:" +obj.length); //important sale顺序颠倒不影响 ----getElementsByClassName('sale important') var obj_1=document.getElementsByClassName( ' important sale' ); alert( "同时具有important 和sale类的元素个数:" +obj_1.length); |
四、获取和设置属性
1、getAttribue(attribute)?
1 2 3 4 5 | var pa=document.getElementsByTagName( 'p' ); for ( var i=0;i<pa.length;i++){ var text=pa[i].getAttribute( 'title' ); if (text) alert(text); } |
2、setAttribute(attribue,value)
1 2 3 | var shoppping=document.getElementById( 'purchases' ); shoppping.setAttribute( 'title' , 'A list of goods' ); alert(shoppping.getAttribute( 'title' )); |
五、小结
- getElementById
- getElementsByTagName
- getElementsByClassName
- getAttribute
- setAttribute
上面5个常见方法是编写DOM脚本的基石