Visit Mozilla.org

DOM:document.getElementsByName

出典: MDC

« Gecko DOM リファレンス

目次

[編集] 概要

(X)HTMLドキュメント内の、与えられた name を持つ要素のリストを返します。

[編集] 書式

elements = document.getElementsByName(name) 
  • elements は要素の NodeList です。
  • name は要素の name 属性の値です。

[編集]

// return some of the forms 
//<form name="up"><input type="text"/></form> 
//<form name="up"><input type="text"/></form> 
//<form name="down"><input type="text"/></form> 
//<form name="down"><input type="text"/></form> 
up_forms = document.getElementsByName("up"); 
dump(up_forms.item(0).tagName); // returns "form"

[編集] 注記

name 属性は (X)HTML ドキュメントにのみ適用可能です。

しかしながら、標準の振る舞いは XHTML のフォームコントロールにおいて name 属性を返すことだけが想定されています。この振る舞いは実装されていません (bug 242808)。(XHTML では、メソッドは name 属性を持つすべての要素を返します。<meta> や <object> または name 属性をサポートしていないのに 'name' が置かれた要素などです。これは HTML 向けの標準の振る舞いなので XHTML ではこのように振舞いません。)

document.getElementsByName は、name 属性に与えられた値を持つ全ての要素の NodeList を返します。タグ自身の名前を使う getElementsByTagName とは違い、このメソッドはその name 属性に値を与えられている要素のみに適用します。

[編集] name 属性が有効な要素

name 属性は世代が変わるごとに無くなっています。

XHTML 1.0 の属性:

  • <a> および <applet>, <form>, <frame>, <iframe>, <img>, <map> での name 属性の使用は非推奨になりました。[1]
  • <applet> タグ自身が非推奨になりました。

XHTML 1.0 Transitional では:

  • <frame> がありません。

XHTML 1.0 Strict では:

  • <img> と <form> から 'name' が無くなりました。
  • <iframe> 自身が無くなりました。

XHTML 1.1 の属性:

  • <a> と <map> から name 属性が完全に無くなりました (そのため、Name Identification モジュールも非推奨に含まれます)。次の要素上でのみ、name の使用が常に許可されています:
<meta>, <object>, <param> (必須), <input> ('name' は submit および reset 型と同等のすべての種類について必要です), <select>, <textarea>, <button>

このメソッドは、上記のドキュメントタイプと、XHTML でのこのメソッドの現在の非標準の振る舞いの変更のため、使用できるかどうか疑わしいです。


[編集] 仕様

DOM Level 2 HTML: getElementsByName