DOM:document.getElementsByName
出典: MDC
目次 |
[編集] 概要
(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 でのこのメソッドの現在の非標準の振る舞いの変更のため、使用できるかどうか疑わしいです。