(2)JavaScript DOM獲取元素節點
阿新 • • 發佈:2018-11-27
如何獲取元素節點:
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>