1、getElementById()
getElementById()可以存取DOCUMENT中的某一特定元素,顧名思義,就是透過ID來取得元素,所以只能存取設定了ID的元素。
比如說有一個DIV的ID為docid:
程式碼
<div id=docid></div>
那就可以用getElementById(docid)來取得這個元素。
2、getElementsByName()
這是透過NAME來獲得元素,但不知大家注意沒有,這個是GET ELEMENTS,複數ELEMENTS代表獲得的不是一個元素,為什麼呢?
因為DOCUMENT中每一個元素的ID是唯一的,但NAME卻可以重複。打個比喻就像人的身分證號是唯一的(理論上,雖然現實中有重複),但名字重複的卻很多。如果一個文檔
中有兩個以上的標籤NAME相同,那麼getElementsByName()就可以取得這些元素組成一個陣列。
例如有兩個DIV:
程式碼
<div name=docname id=docid1></div>
<div name=docname id=docid2></div>
那就可以用getElementsByName(docname)取得這兩個DIV,用getElementsByName(docname)[0]存取第一個DIV,用getElementsByName(docname)[1]存取第二個DIV。
3、getElementsByTagName()
這個呢就是透過TAGNAME(標籤名稱)來獲得元素,一個DOCUMENT中當然會有相同的標籤,所以這個方法也是取得一個陣列。
下面這個例子有兩個DIV,可以用getElementsByTagName(div)來存取它們,用getElementsByTagName(div)[0]存取第一個DIV,用
getElementsByTagName(div)[1]存取第二個DIV。
總結一下標準DOM,存取某一特定元素盡量用標準的getElementById(),存取標籤用標準的getElementByTagName(),但IE不支援getElementsByName(),所以就要避免使用
getElementsByName(),但getElementsByName()和不符合標準的document.all[]也不是全無是處,它們有自己的方便之處,用不用那就看網站的用戶使用什麼瀏覽器,由你自己決定了。