getElementByID() getElementsByName()getElementsByTagName_r()的區(qū)別
getElementByID() getElementsByName()getElementsByTagName_r()的區(qū)別Web標(biāo)準(zhǔn)下可以通過getElementById(), getElementsByName(), andgetElementsByTagName_r()訪問Documnent中的任一個標(biāo)簽:1getElementById(“ID”)getElementById()可以訪問Documnent中的某一特定元素,顧名思義,就是通過ID來取得元素,所以只能訪問設(shè)置了ID的元素。比如說有一個DIV的ID為docid:<divid="docid"></div>那么就可以用getElementById("docid")來獲得這個元素。2getElementsByName(“Name”)這個是通過name來獲得元素,但不知大家注意沒有,這個是get elemnets,復(fù)數(shù)elemnets代表獲得的不是一個元素,為什么呢?因為Documnent中每一個元素的ID是唯一的,但NAME卻可以重復(fù)。打個比喻就像人的身份證號是唯一的(理論上,雖然現(xiàn)實中有重復(fù)),但名字重復(fù)的卻很多。如果一個文檔中有兩個以上的標(biāo)簽NAME相同,那么getElementsByName()就可以取得這些元素組成一個數(shù)組。比如有兩個DIV:<divname="docname"id="docid1"></div><divname="docname"id="docid2"></div>那么可以用getElementsByName("docname")獲得這兩個DIV,用getElementsByName("docname")[0]訪問第一個DIV,用getElementsByName("docname")[1]訪問第二個DIV。3getElementsByTagName_r(“TagName”)這是通過TagName(標(biāo)簽名稱)來獲得元素,一個Document中當(dāng)然會有相同的標(biāo)簽,所以這個方法也是取得一個數(shù)組。下面這個例子有兩個DIV,可以用getElementsByTagName_r("div")來訪問它們,用getElementsByTagName_r("div")[0]訪問第一個DIV,,用getElementsByTagName_r("div")[1]訪問第二個DIV。<head><meta http-equiv="Content-Type" content="text/html;charset=gb2312"><title>Byname,tag</title><style type="text/css"><!--#docid1,#docid2{margin:10px;height:400px;width:400px;background-color:#999;}--></style></head><body><div name="docname" id="docid1"onClick="bgcolor()"></div><div name="docname" id="docid2"onClick="bgcolor()"></div></body></html><script language="JavaScript" type="text/JavaScript"><!--function bgcolor(){vardocnObj=document.getElementsByTagName_r("div");docnObj[0].style.backgroundColor = "black";docnObj[1].style.backgr oundColor = "black";}--></script>
總結(jié):總結(jié)一下標(biāo)準(zhǔn)DOM,訪問某一特定元素盡量用標(biāo)準(zhǔn)的getElementById(),訪問標(biāo)簽用標(biāo)準(zhǔn)的getElementByTagName(),但IE不支持getElementsByName(),所以就要避免使用getElementsByName(),但getElementsByName()和不符合標(biāo)準(zhǔn)的document.all[]也不是全無是處,它們有自己的方便之處,用不用那就看網(wǎng)站的用戶使用什么瀏覽器,由你自己決定了。Javascript中的getElementById十分常用,但在標(biāo)準(zhǔn)的頁面中,一個id只能出現(xiàn)一次,如果我想同時控制多個元素,例如點一個鏈接,讓多個層隱藏,該怎么做?用class
愛華網(wǎng)



