2

私の状況について何かが非常に厄介です...私は次のようなものを持っています:

<div id="selector">
   <input type='radio' />
   <input type='radio' />
   <input type='radio' />
</div>

$("#selector input[type=radio]")3 つすべての要素を使用すると検出されますが、最初の要素のみを使用する$("#selector").find("input[type=radio]")場合でも検出されます。find("input")

これは jQuery のバグですか? 私はfind()正しく使用していませんか?

明確化: find() を使用してすべての入力を取得したいのですが、何を試しても最初のものしか見つかりません。

編集:私はjquery 1.3.2を使用しています

4

5 に答える 5

2

あなたが本当に欲しいのは:

$("#selector > :radio")

1つしか取得できない理由については、find()が1つで停止せず、すべての一致を検索するため、実行されている実際のコードを確認する必要があります。問題。

于 2009-06-09T12:02:21.453 に答える
0

試す

$("#selector").find("input[type=radio]")

于 2009-06-09T12:01:05.387 に答える
0

こちらをご覧ください

3 つすべてが同じ結果を返します。

$(function() {
    console.log($("#selector input[type=radio]"));          // 3
    console.log($("#selector").find("input[type=radio]"));  // 3
    console.log($("#selector").find("input"));              // 3
});
于 2011-12-14T08:05:23.217 に答える
-3

$( "#selector")。children( "input [@ type = radio]")

于 2009-06-09T12:07:36.620 に答える