説明
ノードの種類はnodeTypeを使って取得することができます。nodeTypeは表1で示す値を返します。ただし、Safari 2ではコメントノードは取得することができません。
表1
nodeType値 | 名称 | 内容 |
1 | ELEMENT_NODE | エレメントノード |
2 | ATTRIBUTE_NODE | 属性ノード |
3 | TEXT_NODE | テキストノード |
4 | CDATA_SECTION_NODE | CDATAセクションノード |
5 | ENTITY_REFERENCE_NODE | エンティティリファレンス |
6 | ENTITY_NODE | エンティティ |
7 | PROCESSING_INSTRUCTION_NODE | 処理命令 |
8 | COMMENT_NODE | コメントノード |
9 | DOCUMENT_NODE | ドキュメントノード |
10 | DOCUMENT_TYPE_NODE | ドキュメントタイプ |
11 | DOCUMENT_FRAGMENT_NODE | ドキュメントフラグメント |
12 | NOTATION_NODE | 記法 |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>JavaScript Sample</title>
<link rel="stylesheet" type="text/css" href="main.css" media="all">
<script type="text/javascript" src="main.js"></script>
</head>
<body>
<h1>ノードの種類を読み出す</h1>
<form action="./checknode.cgi" method="get" name="mainForm">
<input type="button" id="setButton" value="ノードの種類を表示">
</form>
<div id="dNode">ここは<!-- コメント --><span>テキストノード</span>です</div>
<div id="result"></div>
</body>
</html>
window.onload = function(){
document.getElementById("setButton").onclick = function(){
var d = document.getElementById("dNode");
var res = document.getElementById("result");
for (var i=0; i<3; i++){
var nType = d.childNodes[i].nodeType;
res.innerHTML += nType +"<br>";
}
}
}