DOM裡常見的三種節點型別
1.nodeName比tagName注意二者返回的是大寫!大寫!大寫!
從DOM層次來看,nodeName是node 介面上的property,而tagName是element 介面上的property,所有的節點(元素節點,屬性節點,文字節點等12種)都繼承了node介面,而只有元素節點才繼承了element節點,因此nodeName比tagName具有更大的使用範圍。
一般地,節點至少擁有nodeType、nodeName和nodeValue這三個基本屬性。
總結:tagName只能用在元素節點上,而nodeName可以用在任何節點上,可以說nodeName涵蓋了tagName,並且具有更多的功能,因此建議總是使用nodeName。
nodeType
nodeType屬性返回節點型別的常數值。不同的型別對應不同的常數值,12種類型分別對應1到12的常數值
元素節點 Node.ELEMENT_NODE(1)
屬性節點 Node.ATTRIBUTE_NODE(2)
文字節點 Node.TEXT_NODE(3)
CDATA節點 Node.CDATA_SECTION_NODE(4)
實體引用名稱節點 Node.ENTRY_REFERENCE_NODE(5)
實體名稱節點 Node.ENTITY_NODE(6)
處理指令節點 Node.PROCESSING_INSTRUCTION_NODE(7)
註釋節點 Node.COMMENT_NODE(8)
文件節點 Node.DOCUMENT_NODE(9)
文件型別節點 Node.DOCUMENT_TYPE_NODE(10)
文件片段節點 Node.DOCUMENT_FRAGMENT_NODE(11)
DTD宣告節點 Node.NOTATION_NODE(12)
2.獲得元素屬性的集合:
document.getElementsByTagName("BUTTON")[0].attributes;