除了Document類型之外,Element類型就要算是Web編程中最常用的類型了。Element類型用于表現(xiàn)XML或HTML元素,提供了對(duì)元素標(biāo)簽名、子節(jié)點(diǎn)及特性的訪問。Element節(jié)點(diǎn)具有以下特征:
◎nodeType的值為1;
◎nodeName的值為元素的標(biāo)簽名;
◎nodeValue的值為null;
◎parentNode可能是Document或Element;
◎其子節(jié)點(diǎn)可能是Element、Text、Comment、Processinglns truction、CDATASection或EntityRef erence。
要訪問元素的標(biāo)簽名,可以使用nodeName屬性,也可以使用tagName屬性;這兩個(gè)屬性會(huì)返回 相同的值(使用后者主要是為了清晰起見)。以下面的元素為例:
可以像下面這樣取得這個(gè)元素及其標(biāo)簽名:
var div=document.getElementByld("myDiv");
alert(div.tagName); //"DIV"
alert(div.tagName==div.nodeName); //true
這里的元素標(biāo)簽名是div,它擁有一個(gè)值為"myDiv" 的ID??墒牵琩iv.tagName實(shí)際上輸出的是 "DIV"而非"div"。在HTML中,標(biāo)簽名始終都以全部大寫表示;而在XML(包括XHTML)中,標(biāo)
簽名則始終會(huì)與源代碼中的保持一致。假如你不確定自己的腳本將會(huì)在HTML還是XML文檔中執(zhí)行,好是在比較之前將標(biāo)簽名轉(zhuǎn)換為相同的大小寫形式,如下面的例子所示:
if(element.tagName=="div"){//不能這樣比較,很容易出錯(cuò)!
//在此執(zhí)行某些操作
}
if( element.tagName.toLowerCase()=="div")(//這樣最好(適用于任何文檔)
//在此執(zhí)行某些操作
}
這個(gè)例子展示了圍繞tagName屬性的兩次比較操作。第一次比較非常容易出錯(cuò),因?yàn)槠浯a在 HTML文檔中不管用。第二次比較將標(biāo)簽名轉(zhuǎn)換成了全部小寫,是我們推薦的做法,因?yàn)檫@種做法適
用于HTML文檔,也適用于XML文檔。
可以在任何瀏覽器中通過腳本訪問Element類型的構(gòu)造函數(shù)及原型,包括IE8及更高版本。
。
本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.希望此文對(duì)廣技人員有所幫助。原創(chuàng)文章出自:南昌網(wǎng)站建設(shè)公司-百恒網(wǎng)絡(luò) http://www.gimmickmag.com 如轉(zhuǎn)載請(qǐng)注明出處!