DOM1級定義了一個Node接口,該接口將由DOM中的所有節(jié)點類型實現(xiàn)。這個Node接口在JavaScript中是作為Node類型實現(xiàn)的;除了IE之外,在其他所有瀏覽器中都可以訪問到這個類型。JavaScript中的所有節(jié)點類型都繼承自Node類型,因此所有節(jié)點類型都共享著相同的基本屬性和方法。
每個節(jié)點都有一個nodeType屬性,用于表明節(jié)點的類型。節(jié)點類型由在Node類型中定義的下列12個數(shù)值常量來表示,任何節(jié)點類型必居其一:
◎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);
通過比較上面這些常量,可以很容易地確定節(jié)點的類型,例如:
if( someNode.nodeType==Node.ELEMENT_NODE){//在IE中無效
alert("Node is an element.");
}
這個例子比較了someNode.nodeType與Node.ELEMENT NODE常量。如果二者相等,則意味著someNode確實是一個元素。然而,由于IE沒有公開Node類型的構造函數(shù),因此上面的代碼在IE中會導致錯誤。為了確??鐬g覽器兼容,最好還是將nodeType屬性與數(shù)字值進行比較,如下所示:
if( someNode.nodeType==1 ){//適用所有瀏覽器
alert( "Node is an element.");
}
本文僅限內(nèi)部技術人員學習交流,不得作于其他商業(yè)用途.原創(chuàng)文章出自:南昌網(wǎng)站建設公司-百恒網(wǎng)絡 http://m.iotmicrosoft.com 如轉載請注明出處!