在這範例中,若要取得 form 裡面的 text 的元素的話,相信應(yīng)該是很多人都會用 document.all("text1") 或是用 document.form1.text1 吧!在 IE 、 FireFox 及 Opera 中,以上兩種寫法都是可以執(zhí)行的,但要注意的是: 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 中已經(jīng)被拿掉了。

          getElementsByTagName(tagName)

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

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

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

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

          posted on 2006-05-31 09:39 jackstudio 閱讀(472) 評論(0)  編輯  收藏 所屬分類: javascript

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 武汉市| 安岳县| 台中市| 庆城县| 博兴县| 栾城县| 高淳县| 洛宁县| 兰西县| 新平| 普兰县| 张家口市| 辽阳市| 麦盖提县| 文昌市| 天门市| 沁水县| 田东县| 仪征市| 尼玛县| 敦化市| 双流县| 襄汾县| 北碚区| 房产| 石台县| 阳山县| 靖边县| 襄垣县| 徐水县| 启东市| 始兴县| 遂平县| 濮阳县| 黑龙江省| 邯郸县| 定安县| 永安市| 辛集市| 富源县| 莱西市|