Jeremy Keith 著の「Dom Scripting」という本を読んでいます。DOMには合計12種類のノードがあると読みました。私はちょうどそれらのうちの5つを知っています -
Document
Element
Text
Attribute
Comment
他のノードについては知りません。私の知らない知識を教えてください。
DOM レベル 3 仕様Node
からのインターフェースの IDL :
interface Node {
// NodeType
const unsigned short ELEMENT_NODE = 1;
const unsigned short ATTRIBUTE_NODE = 2;
const unsigned short TEXT_NODE = 3;
const unsigned short CDATA_SECTION_NODE = 4;
const unsigned short ENTITY_REFERENCE_NODE = 5;
const unsigned short ENTITY_NODE = 6;
const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
const unsigned short COMMENT_NODE = 8;
const unsigned short DOCUMENT_NODE = 9;
const unsigned short DOCUMENT_TYPE_NODE = 10;
const unsigned short DOCUMENT_FRAGMENT_NODE = 11;
const unsigned short NOTATION_NODE = 12;
// ...
}
番号は、ノードへの参照があり、そのタイプを知る必要がある場合に役立ちます (すべてのブラウザーが定数をサポートしているわけではありません)。
var elem = document.getElementById("example");
console.log(elem.nodeType); // 1
ブラウザ コンソールで実行for(key in Node) console.log(key, ' = ' + Node[key])
すると、サポートされているすべてのノード タイプとその数値が出力されます。