-1

次のようなjqueryの選択があります。

elements= $($('#mytab').find('form').attr('elements')).not('button');

// access elements by name
 elements['id']=1;

これは明らかに機能していません:(

コレクションをHtmlCollectionとして返すにはjqueryが必要です。

$('#mytab').find('form').attr('elements')

私の質問は、jquery array/object collection の代わりに、コレクションを HtmlCollection として返す toArray() などのような利用可能な関数はありますか? 私の主な目的は、インデックスではなく名前でフォーム要素にアクセスすることです。

elements['id'], elements['name']

Html フォーム要素 要素 に関する多くの混乱。elements は、htmlformオブジェクトの属性で、すべての要素のコレクションです。form

これは JSfiddle です。

4

2 に答える 2

1

elementsは属性ではなくプロパティです。prop代わりにメソッドを使用する必要があります。

var elements = $('#mytab').find('form').prop('elements');

また:

var elements = $('#mytab').find('form')[0].elements;

入力要素をフィルタリングする場合は、メソッドを使用できます。プロパティgetを使用する必要はありません。elements

var elements = $('#mytab form input').get();

http://api.jquery.com/get/

于 2013-01-28T08:24:21.023 に答える
0

うん、ある:

$.makeArray($('div'));

divこれは、ページ上のすべての要素の配列を返します。もちろん、任意のセレクターを使用できます。

要素の配列を名前で取得するには、ネイティブ JS を使用します。

document.getElementsByName('myFormElementName');
于 2013-01-28T08:13:11.383 に答える