子ノードがあるかどうか調べる (hasChildNodes)

説明

子ノードがあるかどうか調べるにはhasChildNodes()を使います。戻り値がtrueなら子ノードがあり、falseであればないことになります。テキストノードやコメントノードのように子ノードを持たない場合はhasChildNodes()は常にfalseを返します。

サンプルプログラム

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Sample</title>
<link rel="stylesheet" href="css/main.css" type="text/css" media="all">
<script type="text/javascript" src="js/sample.js"></script>
</head>
<body>
<h1>子ノードがあるかどうか調べる</h1>
<div id="baseNode">子ノードチェック</div>
<div id="block1"></div>
<div id="result"></div>
</body>
</html>

【スクリプト】
window.onload = function(){
var ele = document.getElementById("baseNode");
var res = document.getElementById("result");
if (ele.hasChildNodes() == true) {
res.innerHTML = "baseNodeは子ノードがあります。";
}else{
res.innerHTML = "baseNodeは子ノードがありません。";
}
ele = document.getElementById("block1");
if (ele.hasChildNodes() == true) {
res.innerHTML += "block1は子ノードがあります。";
}else{
res.innerHTML += "block1は子ノードがありません。";
}
}
サンプルを実行
[戻る]