1. 程式人生 > >(2)JavaScript DOM獲取元素節點

(2)JavaScript DOM獲取元素節點

如何獲取元素節點:
1 document.getElementById : 根據 id 屬性獲取對應的單個節點
2 document.getElementsByTagName: 根據標籤名獲取指定節點名字的陣列, 陣列物件
3 document.getElementsByName:
根據節點的 name 屬性獲取符合條件的結點陣列
但 ie 的實現方式和W3C 標準有差別;
在html 文件中若某個結點(li)沒有name屬性
則 ie 使用 getElementsByName 不能獲取到節點陣列 但是火狐可以

4 其他的兩個方法, ie 根本就不支援 所以不建議使用

<
!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> //獲取指定的元素節點 window.onload = function() { //1. 獲取id為bj的那個節點. //在編寫HTML文件時 需確保id屬性值是唯一的 //該方法為document 物件的方法 ---- 顯示Object
//@@@@@顯示 Object var bjNode = document.getElementById("bj"); alert(bjNode); //2. 獲取所有的li節點 . //使用標籤名獲取指定節點的集合. //該方法為 Node 介面的方法 即任何一個結點都有這個方法 //@@@@@顯示 8 var liNodes = document.getElementsByTagName("li"); alert(liNodes.length); //2.獲取指定節點的 的子節點li的個數 //@@@@@顯示 4
var cityNode = document.getElementById("city"); var cityLiNodes = cityNode.getElementsByTagName("li"); alert(cityLiNodes.length); //3.根據HTML文件元素的 name 屬性名來獲取指定的節點的集合。 //@@@@@顯示 2 var genderNodes = document.getElementsByName("gender"); alert(genderNodes.length); //若HTML 元素自身沒有定義name屬性 則 getElementsByName() //方法對於IE無效. 所以使用該方法需謹慎 //@@@@@顯示 1 var bjNodes2 = document.getElementsByName("beijing"); alert(bjNodes2.length); } </script> </head> <body> <p>你喜歡哪個城市?</p> <ul id = "city"> <li id="bj" name="beijing">北京</li> <li>上海</li> <li>東京</li> <li>首爾</li> </ul> <br><br> <p>你喜歡哪款單機遊戲?</p> <ul id = "game"> <li id="rl">紅警</li> <li>實況</li> <li>極品飛車</li> <li>魔獸</li> </ul> <br><br> gender: <input type="radio" name="gender" value="male"/>Male <input type="radio" name="gender" value="female"/>Female </body> </html>