2009-06-11 8 views
16

jQueryの選択項目の前または次の要素を取得するにはどうすればよいですか?jQueryを使用して選択範囲から次または前の要素を取得する

基本的に、私は一連の要素を持つことになり、すべての入力を言う:私は、単一の入力を持っている場合は

$('input') 

が、私も以前、次の入力を取得する必要があります。以下のような 何か:

$(this).prev('input') 
$(this).next('input') 

ただし、入力は兄弟ではなく、私は次のDOM要素を望んでいません。 jQueryの選択項目(この場合は入力)の次の要素が必要です。


は私が

.each(function(... 

でjQueryの選択を反復処理することができます知っているしかし、私は前と後のすべての要素を、ひとつ上を行く必要はありません。

要素も動的に並べ替えられます(jQuery UIソート可能)。

+0

を構築していますか – TStamper

+0

これらはソート可能な別のdivコンテナにあります。 – chrismar035

答えて

18

あなたはこのような何か行うことができます:ちょうどこのようprevnextは、jQueryのオブジェクトではなく、DOMが今オブジェクトこと

var inp = $('input'); 

var index = inp.index(this); 
var next = inp[index+1]; 
var prev = inp[index-1]; 

注意を。それらをjQueryオブジェクトにするには、$()関数でラップする必要があります。

+0

完璧に作業しました!ありがとうございました! – chrismar035

8

あなたの要求に応じてjQueryの次、子供や以前の親がそうですか、サポートに

$($('input')[0]).next('input') 

next

$($('input')[0]).prev('input') 

previous

関連する問題