来自《Javascript DOM编程艺术》那本书。
示例代码如下:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <title>Shopping List</title> </head> <body> <h1>What to buy</h1> <p title="a gender remainder">Don't forget to buy this stuff.</p> <ul id="perchases"> <li>A tin of beans</li> <li>Cheese</li> <li>Milk</li> </ul> <script type="text/javascript"> alert(typeof document.getElementById("perchases")); </script> </body> </html> 1)getElementById:在标签中可以设置id属性,使用这个函数会返回与这个id匹配的对象。(DOM中的每个节点都是对象)
2)getElementsByTagName:
返回的是一个数组。(所以Element都是复数。。)参数可以是通配符。例如:
var items=document.getElementsByTagName("*");返回的是包含整个页面上的对象的数组。
3)getAtrribute:
只能通过某个具体的对象调用,无法用document调用,例如:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <title>Shopping List</title> </head> <body> <h1>What to buy</h1> <p title="a gender remainder">Don't forget to buy this stuff.</p> <ul id="perchases"> <li>A tin of beans</li> <li>Cheese</li> <li>Milk</li> </ul> <script type="text/javascript"> var paras=document.getElementsByTagName("p"); for(var i=0;i<paras.length;i++){ alert(paras[i].getAttribute("title")); } </script> </body> </html>运行效果:4)setAtrribute:
修改属性值,setAtrribute(attribute,value),例如:
var paras=document.getElementsByTagName("p"); for(var i=0;i<paras.length;i++){ if(paras[i].getAttribute("title")){ paras[i].setAtrribute("title","a GENDER remainder!!!"); alert(paras[i].getAttribute("title")); } }更改了p标签的title属性,原来的a gender remainder变成了a GENDER remainder!!!注:
view source后看到的仍然是改动之前的内容,因为DOM先加载静态的文档再动态刷新。