1. 程式人生 > >DOM對HTML元素的兩種訪問操作

DOM對HTML元素的兩種訪問操作

1.通過ID訪問,即document.getElementById();

id具有唯一性

例如如下程式碼:

<!DOCTYPE html>
<html>
<head>
	<title>使用getElementById方法查詢元素</title>
	<script type="text/javascript">
		function showContent(){
			var myDiv,textName,btn_show;
			with(document){
				myDiv=getElementById("myDiv");
				textName=getElementById("textName");
				btn_show=getElementById("btn_show");
			}
			alert(myDiv.innerHTML+"\n"+textName.value+"\n"+btn_show.value);
		}
	</script>
</head>
<body>
     <div id="myDiv">我的div塊</div>
     <textarea id="content" rows="2",cols="16">秋水共長天一色</textarea><br/>
     <input type="text" id="textName" value="Daisy"><br/>
     <input type="button" id="btn_show" value="輸出以上三個元素的內容" onclick="showContent()"/>
     <!--onclick給按鈕繫結一個事件-->
    
</body>
</html>

2.利用節點關係訪問HTML元素

  常用的屬性及方法如下所示:

parentNode 返回當前節點的父節點
previousSibling 返回當前節點的前一個兄弟節點
nextSibling 返回當前節點的後一個兄弟節點
childNodes 返回當前節點的所有子節點
firstChild 返回當前節點的第一個子節點
lastChild 返回當前節點最後一個子節點
getElementByTagName(tagName) 返回當前節點的指定節點的所有子節點

示例如下:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style type="text/css">
		#a4{color: pink;}
	</style>
</head>
<body>
     <ul id="names">
     	 <li id="a1">可愛的</li>
     	 <li id="a2">樂觀的</li>
     	 <li id="a3">自信的</li>
     	 <li id="a4">堅強的</li>
     	 <li id="a5">努力的</li>
     	 <li id="a6">認真的</li>
     </ul>
     <input type="button" value="父節點" onclick="showContent(rr.parentNode)"/>
     <input type="button" value="第一個子節點" onclick="showContent(rr.parentNode.firstChild.nextSibling)"/>
     <input type="button" value="上一個節點"  onclick="showContent(rr.previousSibling.previousSibling)"/>
     <input type="button" value="下一個節點" onclick="showContent(rr.nextSibling.nextSibling)"/>
     <input type="button" value="最後一個子節點" onclick="showContent(rr.parentNode.lastChild.previousSibling)"/>
     <input type="button" value="得到所有的li元素的個數" onclick="showCount()"/>
     <!--js是一種弱型別語言,從上而下執行,這段程式碼要放在要操作的html內容下面-->
     <script type="text/javascript">
     	var rr=document.getElementById("a4");
     	function showContent(target){
     		alert(target.innerHTML);
     	}
     	function showCount(){
     		alert(document.getElementsByTagName("li").length);
     	}
     </script>
</body>
</html>