-1

私はこのようなことをしたいと思います:

var form = document.getElementsByTagName("form")[0];
var form_element_list = form.getElementsByName("foo");

しかし残念ながら、それは( MDNgetElementsByNameを参照)からしか実行できないようです。document

質問:
ドキュメント レベルからしか検索できないのはなぜですか? 特に、name属性は主にフォームで使用されます。

ありがとう!

4

3 に答える 3

2

ドキュメント レベルからしか検索できないのはなぜですか?

歴史的な理由で?私たちは本当に知りません。ただし、名前は の id と同様にグローバル識別子ですdocument.getElementsByIdが、一意ではないだけです。

特に name 属性は主にフォームで使用されます。

その目的のためにフォームの.elementsコレクションを使用します。名前を付けることもできます。

于 2014-06-23T14:54:21.207 に答える
0

document.formName where (formName はフォームに指定した name 属性) を使用してフォームを取得し、document.formName.elements を使用してコレクション内の要素を取得できます。その後、document.formName.elements.inputID によって入力要素を参照できます。

于 2014-06-23T14:53:24.370 に答える