2009-06-11 12 views
16

Jak mogę uzyskać poprzedni lub następny element z zaznaczenia jQuery?Używanie jQuery do uzyskania następnego lub poprzedniego elementu z zaznaczenia

Zasadniczo będzie Mam zestaw elementów, powiedzmy wszystkie wejścia:

$('input') 

Kiedy mam jedno wejście, ja też trzeba uzyskać poprzednie i następne wejście. Coś jak:

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

jednak nakłady nie są rodzeństwem i nie chcę tylko następnego elementu DOM. Chcę następny element w wyborze jQuery (dane wejściowe w tym przypadku).


wiem, że mogę iterację jQuery zaznaczenia z

.each(function(... 

Ale nie trzeba iść na wszystkie elementy, tylko jeden przed i po.

Elementy zostaną również uporządkowane dynamicznie (przy użyciu sortables UI jQuery).

+0

więc są kolejne, dzieci i poprzedni rodzicem? – TStamper

+0

Są w różnych pojemnikach div dla sortable. – chrismar035

Odpowiedz

18

Można zrobić coś takiego:

var inp = $('input'); 

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

Zauważ, że prev i next, podobnie jak nie są obiektami jQuery ale teraz obiekt DOM. Aby uczynić je obiektami jQuery, należy zawinąć je w funkcję $().

+0

Działa doskonale! Dziękuję Ci! – chrismar035

8

jQuery ma wbudowane wsparcie wymagane przez was,

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

next

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

previous

Powiązane problemy