DOM ノードの種類を取得・比較する

ノードの種類は node.nodeType で取得できる。

var node = document.body.firstChild;
console.log(node.nodeType);

比較は Node オブジェクトに定義された定数を使って行える。

console.log(node.nodeType === Node.TEXT_NODE);

Internet Explorer 8 以前ではこの定数が定義されていないので、スクリプトの先頭で次のように定義してやるとよい。

if (! window.Node) {
	window.Node =
		{ ELEMENT_NODE: 1
		, ATTRIBUTE_NODE: 2
		, TEXT_NODE: 3
		, CDATA_SECTION_NODE: 4
		, ENTITY_REFERENCE_NODE: 5
		, ENTITY_NODE: 6
		, PROCESSING_INSTRUCTION_NODE: 7
		, COMMENT_NODE: 8
		, DOCUMENT_NODE: 9
		, DOCUMENT_TYPE_NODE: 10
		, DOCUMENT_FRAGMENT_NODE: 11
		, NOTATION_NODE: 12
		};
}