DOM1級(jí)定義了一個(gè)Node接口,該接口將由DOM中的所有節(jié)點(diǎn)類(lèi)型實(shí)現(xiàn)。這個(gè)Node接口在JavaScript中是作為Node類(lèi)型實(shí)現(xiàn)的;除了IE之外,在其他所有瀏覽器中都可以訪問(wèn)到這個(gè)類(lèi)型。JavaScript中的所有節(jié)點(diǎn)類(lèi)型都繼承自Node類(lèi)型,因此所有節(jié)點(diǎn)類(lèi)型都共享著相同的基本屬性和方法。
每個(gè)節(jié)點(diǎn)都有一個(gè)nodeType屬性,用于表明節(jié)點(diǎn)的類(lèi)型。節(jié)點(diǎn)類(lèi)型由在Node類(lèi)型中定義的下列12個(gè)數(shù)值常量來(lái)表示,任何節(jié)點(diǎn)類(lèi)型必居其一:
◎Node.ELEMENT_NODE(1);
◎Node.ATTRIBUTE_NODE(2);
◎Node.TEXT_NODE(3);
◎Node.CDATA_SECTION_NODE(4);
◎Node.ENTITY_REFERENCE _NODE(5);
◎Node.ENT工IrY_NODE(6);
◎Node.PROCESSING_INSTRUCTION_NODE(7);
◎Node.COMMENT_NODE(8);
◎Node.DOCUMENT_NODE(9);
◎Node.DOCUMENT_TYPE_NODE(IO);
◎Node.DOCUMENT_FRAGMENT_NODE(11);
◎Node.NOTATION_NODE(12);
通過(guò)比較上面這些常量,可以很容易地確定節(jié)點(diǎn)的類(lèi)型,例如:
if( someNode.nodeType==Node.ELEMENT_NODE){//在IE中無(wú)效
alert("Node is an element.");
}
這個(gè)例子比較了someNode.nodeType與Node.ELEMENT NODE常量。如果二者相等,則意味著someNode確實(shí)是一個(gè)元素。然而,由于IE沒(méi)有公開(kāi)Node類(lèi)型的構(gòu)造函數(shù),因此上面的代碼在IE中會(huì)導(dǎo)致錯(cuò)誤。為了確??鐬g覽器兼容,最好還是將nodeType屬性與數(shù)字值進(jìn)行比較,如下所示:
if( someNode.nodeType==1 ){//適用所有瀏覽器
alert( "Node is an element.");
}
本文僅限內(nèi)部技術(shù)人員學(xué)習(xí)交流,不得作于其他商業(yè)用途.原創(chuàng)文章出自:南昌網(wǎng)站建設(shè)公司-百恒網(wǎng)絡(luò) http://m.zdzcgkos.cn 如轉(zhuǎn)載請(qǐng)注明出處!
十余年專(zhuān)注于網(wǎng)站建設(shè)_小程序開(kāi)發(fā)_APP開(kāi)發(fā),低調(diào)、敢創(chuàng)新、有情懷!



