網頁標題: 取得 HTML 中的元素
 



2006-04-07 21:39
取得 HTML 中的元素

先來看一下範例:
    

在這範例中,若要取得 form 裡面的 text 的元素的話,相信應該是很多人都會用 document.all("text1") 或是用 document.form1.text1 吧!在 IE 、 FireFox 及 Opera 中,以上兩種寫法都是可以執行的,但要注意的是: document.all 並非是標準的寫法。

而在 W3C 的標準中,建議使用 getElementById 來取得某特定 ID 的元素;另外也可以用 getElementsByName 或是 getElementsByTagName 來取得某特定 Name 或是類型的元素集合。

getElementById(elementId)

在 HTML 中,每個元素都可以有自己專屬的 ID 。 在 HTML 中要使用 id 屬性來指定 ID ,且在 HTML 中是不能有元素使用同一個 ID 的,但是可以不使用 ID 。所以在上面的範例中,我們可以用 document.getElementById("text1") 來取得 ID 為 text1 的元素。

getElementsByName(elementName)

若用 document.getElementsByName 的話,則可以取得所有某特定 Name 的元素集合。回傳的元素集合是一個陣列。所以在上面的範例中,我們可以用 document.getElementsByName("text1") 來取得 Name 為 text1 的元素集合,而在元素集合中的第一個元素則是 document.getElementsByName("text1")[0] 。

註: getElementsByName 在 DOM Level 3 中已經被拿掉了。

getElementsByTagName(tagName)

若用 document.getElementsByTagName 的話,則可以取得所有某特定類型的元素集合。回傳的元素集合是一個陣列。所以在上面的範例中,我們可以用 document.getElementsByTagName("input") 來取得類型為 input 的元素集合,而在元素集合中的第一個元素則是 document.getElementsByTagName("input")[0] 。

總結:所以像 document.all 這種非標準的語法就別再使用了,請改用 document.getElementById(elementId) 。

另外要注意的是,除了 getElementsByName 跟 getElementsByTagName 中都有一個 s ,而 getElementById 則沒有喔!你就把它想成是因為 getElementById 只是取得單一元素,而 getElementsByName 跟 getElementsByTagName 都是取得元素集合,所以是複數型態就要加 s 囉。

且 getElementsByName 跟 getElementsByTagName 一定會回傳一個元素集合的陣列,即使符合該條件的元素只有一個。

範例瀏覽:

  http://abgne.myweb.hinet.net/JavaScript/0001/0001_1.html

  http://abgne.myweb.hinet.net/JavaScript/0001/0001_2.html

  http://abgne.myweb.hinet.net/JavaScript/0001/0001_3.html



資料搜尋字:
http://blog.xuite.net/abgne/diary1/5896789
回 · javascript 字串處理方式 這一篇文章封面


本文張貼者:校校鴿〔張貼時間:民國100年7月15日(星期五)16點15分〕 | 寫信給校校鴿

部落格首頁


學習的故鄉首頁
本站公告:〔您越需要我們,我們就越有創意〕 本站說明書:〔發現故鄉還有改進的地方,請來信告訴原丁們〕
觀察應用學習點數 :〔咱的故鄉有您的參與,會使我們有更大的發揮空間,展現更豐富精彩的學習畫面〕 〔期待藉由無障礙網頁設計,能讓視障小朋友更愛看書、更愛寫作且更愛學習〕:盲用電腦「心得分享」
〔為了讓我們有乾淨的學習環境,請勿任意在本站散播商業廣告與不合法文件或聯結〕:本站宣示