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 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
基本対応Chrome 完全対応 ありEdge 完全対応 あり
補足
完全対応 あり
補足
補足 Returns an HTMLCollection, not a NodeList
Firefox 完全対応 ありIE 完全対応 あり
補足
完全対応 あり
補足
補足 Returns an HTMLCollection, not a NodeList
Opera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 あり
補足
完全対応 あり
補足
補足 Returns an HTMLCollection, not a NodeList
Firefox Android 完全対応 ありOpera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android ?

凡例

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

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, Marsf, fscholz, khalid32, s_fujimoto, ethertank, Mgjbot, Hfjapancom
最終更新者: mfuji09,