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