HTML DOMのnodeValueプロパティとは?ノード値の取得・設定方法を実例付きで解説
HTML DOMのnodeValueプロパティは、ノードの値に対応する文字列を取得または設定するために使用されます。DOM操作において、テキストノードや属性ノードの中身を扱う際に非常に便利な基本プロパティです。
構文(値の取得)
ノードの値を文字列として取得する場合は、以下のように記述します。
Node.nodeValue
取得される戻り値は、ノードの種類によって以下のように異なります。
- ドキュメントノードおよび要素ノード:「null」が返される
- 属性ノード:その属性の「value」の値が返される
- テキストノードおよびコメントノード:それぞれの内容(テキストやコメント文)が返される
構文(値の設定)
nodeValueに新しい文字列を代入することで、ノードの値を変更できます。
Node.nodeValue = string
注意: 空白文字(ホワイトスペース)もテキストノードとして扱われる点に留意してください。HTMLのインデントや改行が意図しないテキストノードになることがあるため、childNodesでアクセスする際は注意が必要です。
HTML DOM nodeValueプロパティの使用例
それでは、nodeValueプロパティを使った具体的な例を見てみましょう。以下のサンプルでは、生徒名のリストから「Bina」という名前が存在するかどうかを、各リスト項目のテキストノードのnodeValueと比較することで確認しています。
<!DOCTYPE html>
<html>
<head>
<title>HTML DOM nodeValue</title>
<style>
form {
width:70%;
margin: 0 auto;
text-align: center;
}
* {
padding: 2px;
margin:5px;
}
input[type="button"] {
border-radius: 10px;
}
ul{
width: 30%;
margin: 0 auto;
}
</style>
</head>
<body>
<form>
<fieldset>
<legend>HTML-DOM-nodeValue</legend>
<h3>Students</h3>
<ul>
<li>Adam</li>
<li>Alex</li>
<li>Bina</li>
<li>Eden</li>
<li>Rajesh</li>
<li>Zampa</li>
</ul>
<input type="button" onclick="checkForBina()" value="Confirm for Bina">
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById("divDisplay");
var studentList = document.getElementsByTagName("li");
var status = 'not Present';
function checkForBina() {
for(var i=0; i<studentList.length; i++){
if(studentList[i].childNodes[0].nodeValue === 'Bina')
status = 'Present';
}
divDisplay.textContent = 'Bina is '+status;
}
</script>
</body>
</html>実行結果
ボタンをクリックする前
ページを開いた時点では、「Confirm for Bina」ボタンと生徒名のリストのみが表示されています。

ボタンをクリックした後
「Confirm for Bina」ボタンをクリックすると、JavaScriptが各li要素の子テキストノードのnodeValueを「Bina」と比較し、一致した場合に結果メッセージとして「Bina is Present」が表示されます。

まとめ
nodeValueプロパティは、ノードの種類に応じて値の取得・設定を行えるシンプルながら強力なAPIです。特にテキストノードの内容を読み取ったり書き換えたりする場面で活躍します。要素ノードに対してはnullを返すため、要素のテキスト内容を操作したい場合は子のテキストノードにアクセスするか、textContentプロパティを併用するとよいでしょう。
-
HTML DOM Meter valueプロパティとは?使い方とサンプルコードを解説
HTML DOM Meter valueプロパティとはHTML DOMのMeter valueプロパティは、<meter>要素のvalue属性に対応する数値を取得(読み取り)または設定(書き込み)するためのプロパティです。このプロパティは、high・low・min・maxなどの属性と組み合わせて使用することで、より精度の高いゲージ表示を実現できます。注意:<meter>要素は進捗状況を示すプログレスバーとして使用するものではなく、あくまでゲージ(計測値の表示)としてのみ使用してください。進捗の表示には<progress>要素を使用するのが適切です。構文val
-
HTML DOM valueプロパティとは?属性値の取得方法とサンプルコードを解説
HTML DOMのvalueプロパティは、要素が持つ属性(attribute)の値に対応する文字列を返すプロパティです。JavaScriptからHTML要素の属性値を読み取りたい場合に活用できます。基本構文valueプロパティの基本的な書き方は以下の通りです。elementAttribute.value対象となる属性オブジェクトに対して.valueを指定することで、その属性が保持している値を文字列として取得できます。実装例ここでは、画像タグ(<img>)のsrc属性の値をボタンクリック時に取得して画面に表示するサンプルを紹介します。<!DOCTYPE html> <