Webページにおいて、特定のHTML要素にアクセスして操作することは、JavaScript開発の基本です。今回は、getElementsByName という便利なメソッドに焦点を当て、このメソッドの使い方を詳しく解説します。
getElementsByNameとは何か?
getElementsByNameは、DOM(Document Object Model)にアクセスするためのメソッドの一つです。このメソッドは、指定されたname属性の値を持つすべての要素を、NodeList オブジェクトとして返します。
どのように使うのか?
以下は基本的な使い方の例です。
<form>
<input type="text" name="username" value="JohnDoe">
<input type="radio" name="gender" value="male"> Male
<input type="radio" name="gender" value="female"> Female
</form>
var elements = document.getElementsByName("gender");
for (var i = 0; i < elements.length; i++) {
console.log(elements[i].value);
}
このコードは、name属性が “gender” のすべての要素を取得し、それらの値をコンソールに出力します。
NodeList オブジェクトとは?
getElementsByNameメソッドは、NodeListオブジェクトを返します。これは配列と似ていますが、配列のメソッド(map, reduceなど)は使えません。それでも、lengthプロパティで要素数を知ることができ、インデックスで各要素にアクセスできます。
使用上の注意点
例えば、フォームのラジオボタンのどれが選択されているかを判定するコードは以下のようになります。
まとめ
getElementsByNameは、特定のname属性を持つ要素群にアクセスするシンプルで強力な方法です。DOM操作の基本を理解し、このメソッドを効果的に使うことで、JavaScriptでのWebページの操作がより柔軟かつ効率的になります。