close

按此前往javascript完整教學目錄

 

 

介紹:DOMdocument object model,文件物件模式,是指:將網頁檔(html檔或php)文件,給當作物件來操作。而html標籤被當作網頁文件下的成員物件,html標籤的屬性也被當作成員物件的成員。以下是網頁物件的類別架構圖(紫灰色是本章介紹的部分)

image

 

1. 標籤物件陣列:

javascript將每一個html標籤當作一個物件,標籤屬性當作物件成員。一網頁檔中可能有好幾個相同的標籤(比如好幾個圖片標籤<img />)javascript將這些同種的標籤當作物件陣列,並且依照標籤建立的先後順序來安排其序數。

(1) 使用 document.getElementsByTagName(“標籤名稱”)[序數]來存取標籤物件,回傳結果以物件陣列的形式存放。並用document.getElementsByTagName(“標籤名稱”)[序數].屬性名稱來存取屬性。如:

<input type="button" value="狀態一" onclick="document.getElementsByTagName('input')[2].value='狀態二'"/>

<input type="button" value="狀態一"/>

<input type="button" value="狀態一"/>

執行後顯示:image

按下第一個按鈕後,顯示: image

註:若沒有寫[序數],則不會產生效果。

(2) 要存取標籤物件,較有效率、且推薦使用的方法是將「要用到的」標籤給設定識別屬性id,然後利用document.getElementById('id名稱')來存取標籤物件。回傳結果以單一物件的形式存放如:

<input type="button" value="狀態一" onclick="document.getElementById('tt').value='狀態二'"/>

<input type="button" value="狀態一"/>

<input id="tt" type="button" value="狀態一"/>

執行後顯示:image

按下第一個按鈕後,顯示: image

(3)若想要一次回傳多個所指定的物件(以物件矩陣的形式回傳),可用getElementsByName(“標籤物件name”);來取得。

(4)對於表單標籤<form>及其內標籤、圖片標籤<img />、視窗框架標籤<frameset>來說,亦可將「要用到的」標籤給設定屬性name,然後直接用document.標籤物件name.其內標籤物件name來存取標籤(當然,(2-2)的做法仍是有效的)。如:

<head>    <!-- 這裡是表頭區的開始 -->

<script  type="text/javascript">

function show_picture(){

if (document.表單一.tt[0].checked){document.yy[0].src='img/p2.jpg';}

if (document.表單一.tt[1].checked){document.yy[1].src='img/p2.jpg';}

if (document.表單一.tt[2].checked){document.yy[2].src='img/p2.jpg';}

}

</script>

</head>    <!-- 這裡是表頭區的結束 -->

<body >    <!-- 這裡是主體區的開始 -->

<img name="yy" src="img/p1.jpg"/>

<img name="yy" src="img/p1.jpg"/>

<img name="yy" src="img/p1.jpg"/>

<br/>

要換哪張圖?

<form name="表單一">

<input name="tt" id="1" type="radio" />1

<input name="tt" id="2" type="radio" />2

<input name="tt" id="3" type="radio" />3

<input type="button"  id="4" onclick="show_picture();" value="確定"/>

</form>

</body >    <!-- 這裡是主體區的結束 -->

//執行結果:

image

//按下第2radio後,再按下確定,顯示:

image

 

 

上一篇:其他window子物件

下一篇:document的成員變數

arrow
arrow
    創作者介紹
    創作者 埃伯 的頭像
    埃伯

    程式語言教學

    埃伯 發表在 痞客邦 留言(0) 人氣()