ノードの値を参照/設定する

説明

ノードの値はnodeValueを使ってアクセスすることができます。ノードの指定は基準となる位置をID名で指定しておくと便利です。ドキュメントルートからたどるよりも、操作対象となるノードまたは親ノードにID名を指定しておくと楽になります。また、遠くのノードからたどるよりも近くのノードからたどる方がブラウザによるノード処理の違いに悩まされなくて済みます。
ノードの位置指定はchildNodes[]、firstChild、lastChildなどを利用します。タグも表示されているテキストや改行もノードになりますが、Internet Explorerではタグ間にある空白やタブ、改行はテキストノードとして処理されず存在しないことになります。これに対してFirefoxやSafari、Operaなどではテキストノードとして処理されるため、ノードを単純にたどっていくと異なるノードを参照してしまうことがある点に注意してください。
JavaScriptテクニック ブック  詳しい解説などはJavaScriptテクニック ブックを参照してください。

サンプルコード [実行]

<!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="text" name="fNode" id="fNode" value="farming route">
<input type="button" id="setButton" value="各ノードの値を参照/設定">
</form>
<div id="dNode">ここはテキストノードです</div>
<div id="result"></div>
</body>
</html>

window.onload = function(){
document.getElementById("setButton").onclick = function(){
var text = document.getElementById("fNode").value;
document.getElementById("result").innerHTML += text +"<br>";
text = document.getElementById("dNode").firstChild.nodeValue;
document.getElementById("result").innerHTML += text +"<br>";
document.getElementById("fNode").value = "農道";
document.getElementById("dNode").firstChild.nodeValue = "書き換えました";
}
}