Web标準下可以通過getElementById(), getElementsByName(), and getElementsByTagName()通路Documnent中的任一個标簽:
1 getElementById(“ID”)
getElementById()可以通路Documnent中的某一特定元素,顧名思義,就是通過ID來取得元素,是以隻能通路設定了ID的元素。
比如說有一個DIV的ID為docid:
那麼就可以用getElementById(“docid”)來獲得這個元素。
2 getElementsByName(“Name”)
這個是通過name來獲得元素,但不知大家注意沒有,這個是get elemnets,複數elemnets代表獲得的不是一個元素,為什麼呢?
因為Documnent中每一個元素的ID是唯一的,但NAME卻可以重複。打個比喻就像人的身份證号是唯一的(理論上,雖然現實中有重複),但名字重複的卻很多。如果一個文檔中有兩個以上的标簽NAME相同,那麼getElementsByName()就可以取得這些元素組成一個數組。
比如有兩個DIV:
那麼可以用getElementsByName(“docname”)獲得這兩個DIV,用getElementsByName(“docname”)[0]通路第一個DIV,用getElementsByName(“docname”)[1]通路第二個DIV。
3 getElementsByTagName(“TagName”)
這是通過TagName(标簽名稱)來獲得元素,一個Document中當然會有相同的标簽,是以這個方法也是取得一個數組。
下面這個例子有兩個DIV,可以用getElementsByTagName(“div”)來通路它們,用getElementsByTagName(“div”)[0]通路第一個DIV,,用getElementsByTagName(“div”)[1]通路第二個DIV。
Byname,tag 複制代碼 總結: 總結一下标準DOM,通路某一特定元素盡量用标準的getElementById(),通路标簽用标準的getElementByTagName(),但IE不支援getElementsByName(),是以就要避免使用getElementsByName(),但getElementsByName()和不符合标準的document.all[]也不是全無是處,它們有自己的友善之處,用不用那就看網站的使用者使用什麼浏覽器,由你自己決定了