任意の位置の子ノードにアクセスする (childNodes)

説明

任意の位置の子ノードにアクセスするにはchildNodesを使います。戻り値は任意の位置の子ノードになります。子ノードがない場合にはnullを返します。DOMでのアクセスはchildNodes.item(位置)のように指定しますが、JavaScriptの場合はchildNodes[位置]のように配列と同じ形式で指定することもできます。ただし、ノードは単純な配列ではなくノードリスト形式である点には注意してください。つまり配列で使用できるメソッドなどは使用できないことになります(lengthはOK)。

サンプルプログラム

<!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"><span>ABC</span><span>DEF</span><span>GHI</span>JKL</div>
</body>
</html>

【スクリプト】
window.onload = function(){
var ele = document.getElementById("baseNode");
ele.childNodes.item(1).firstChild.nodeValue = "xyz";
ele.childNodes[2].firstChild.nodeValue = "789";
}
サンプルを実行
[戻る]