4

良い一日。検索を使用しましたが、探している答えが見つかりませんでした。これはよくある質問だと思います。

jQuery経由でn番目の要素の値を取得する解決策はありますか?

簡単な例を次に示します。同じクラスの入力が n 個あるとします。最も簡単な方法だと思っ$(".some_class").get(n-th).val()たので、n番目の値を取得する最も簡単な方法。しかし、 を使用するget()と、戻ります

オブジェクト #HTMLInputElement

それで、それval()を使用した後、エラーが発生しました:

キャッチされていない TypeError: オブジェクト #HTMLInputElement にメソッド 'val' がありません。

この状況で jQuery メソッドのみを使用する方法はありますか?

4

6 に答える 6

2

eq代わりに使用してください:

$(".some_class").eq(n-th).val()

eqセット内で指定した要素から新しい jQuery オブジェクトを構築します。

于 2013-08-27T15:23:26.540 に答える
2

n 番目の子を使用して n 番目の要素のリストを取得するため、そのうちの 1 つで val を使用します。

$(".some_class input:nth-child(2)").eq(0).val()

:nth-child(n) 疑似クラスは :eq(n) と簡単に混同されますが、この 2 つは一致する要素が劇的に異なる可能性があります。:nth-child(n) を使用すると、子が何であるかに関係なくすべての子がカウントされ、指定された要素は、疑似クラスに関連付けられたセレクターと一致する場合にのみ選択されます。:eq(n) では、他の要素の子に限定されず、擬似クラスに関連付けられたセレクターのみがカウントされ、(n+1) 番目のセレクター (n は 0 ベース) が選択され ます。参照

クラス .some_class 内で n 番目の入力を取得したいだけの場合は、単純に eq() を使用できます

$(".some_class").eq(0).val()
于 2013-08-27T15:23:40.820 に答える