1

の兄弟の子を選択するにはどうすればよいですか$(this)。このような複雑なセレクターは、私の得意分野ではありません。コンビネータを使用して、これの兄弟を取得しようとしました+。しかし、これと組み合わせると混乱します。$(thisa の後にa が表示されたときの意味がわかりません, something)

$(this, '+ input.in')と同じものを選択するだけのように見えるので役に立ちません$(this)

http://jsbin.com/oguhuv/2/

ありがとう!

4

4 に答える 4

4

次のようなものを簡単に使用できます。

$(this).next('input.in').children(selector)

または

$(this).next('input.in').find(selector)

ターゲット セレクターが直接の子でない場合は、後者を使用します。input.in

于 2013-01-23T21:12:27.050 に答える
4

心配する必要があるthis場合は、セレクターだけで作業しているわけではありません。jQuery API を使用して、その他の要素や異なる要素を探す場所を指定する必要があります。兄弟の検索は、状況に応じて.next().previous()、またはで実行できます。.parent().children(selector)

構造$(this, selector)はほぼ間違い$(selector, this)ですが、 と同じ$(this).find(selector)です。

基本.siblings(selector)的に と同じであることを指摘する以下のコメントに注意してください.parent().children(selector)

于 2013-01-23T21:12:47.053 に答える
1

selectorthisのコンテキストとして使用するには、パラメーターを交換する必要があります: . また、入力の子を選択する兄弟にa を使用するのを忘れました。$('+ input.in', this)*

$('+ * input.in', this);

(はい、これは本当にうまくいきます)。ただし、jQuery メソッドを使用して DOM をナビゲートすると、より明確になります。

$(this).next().find("input.in")
于 2013-01-23T21:15:58.253 に答える
0

jQuery の CSS セレクターは、一連の要素 (例: .filter(), .not()) をフィルタリングするか、子孫要素 (例: $('.foo') でドキュメント全体を検索し、$('foo', data) で別のオブジェクトを検索するために使用されます。 AJAX レスポンスや、要素のコンテンツを検索する someElement.find('.foo') など)。あなたの場合、単一の要素があり、ターゲット要素が含まれていないため、使用するセレクターに関係なく、これらのどれもそれを見ることができません。

ただし、「兄弟」という言葉の使用は、使用する適切な機能を示唆しています。すべての兄弟を見つけたら、セレクターを使用してそのリストをフィルタリングできます。jQueryを使用すると、これをすべて一度に実行できるため、例は次のようになります$(this).siblings('input.in')

于 2013-01-23T21:32:10.750 に答える