Document.getElementsByName()

Document オブジェクトの getElementsByName() メソッドは、文書内で指定した name を持つ要素の NodeList コレクションを返します。

構文

var elements = document.getElementsByName(name);
  • elements は、生きた NodeList コレクション、つまり文書内で同じ name を持った新しい要素が追加されたり削除されたりすると自動的に更新されるものです。
  • name は、要素の name 属性の値です。

<!DOCTYPE html>
<html lang="en">
<title>document.getElementsByName の使用例</title>

<input type="hidden" name="up">
<input type="hidden" name="down">

<script>
  var up_names = document.getElementsByName("up");
  console.log(up_names[0].tagName); // "INPUT" と表示
</script>
</html>

メモ

name 属性は、(X)HTML 文書にのみ適用可能です。

返却された NodeList コレクションには、 <meta><object> など、それに name 属性にまったく対応していない要素も含め、指定された name を持つすべての要素が含まれます。

getElementsByName メソッドは、 IE10 以前では動作が異なります。この場合、 getElementsByName() は指定された id 属性を持つ要素も返します。 name および id で同じ文字列を使用しないように注意してください。

getElementsByName メソッドは IE では動作が異なります。この場合、 getElementsByName()name 属性を許容しない要素 (<span> など) を返しません。

IE および Edge では、 NodeList ではなく HTMLCollection を返します。

仕様書

仕様書 状態 備考
HTML Living Standard
Document.getElementsByName() の定義
現行の標準  
Document Object Model (DOM) Level 2 HTML Specification
Document.getElementsByName() の定義
廃止された 初回定義

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
getElementsByNameChrome 完全対応 1Edge 完全対応 12
補足
完全対応 12
補足
補足 Before Edge 79, this method returns an HTMLCollection, not a NodeList.
Firefox 完全対応 1IE 完全対応 5
補足
完全対応 5
補足
補足 Returns an HTMLCollection, not a NodeList
Opera 完全対応 5Safari 完全対応 1WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0

凡例

完全対応  
完全対応
実装ノートを参照してください。
実装ノートを参照してください。

関連情報