2009-06-11 7 views
16

Come posso ottenere l'elemento precedente o successivo da una selezione jQuery?Utilizzo di jQuery per ottenere l'elemento successivo o precedente da una selezione

Fondamentalmente, avrò un insieme di elementi, dire tutti gli ingressi:

$('input') 

Quando ho un solo ingresso, ho anche bisogno di ottenere l'input precedente e successivo. Qualcosa di simile:

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

Tuttavia, gli ingressi non sono fratelli e io non voglio solo l'elemento DOM successivo. Voglio il prossimo elemento nella selezione jQuery (input in questo caso).


so di poter scorrere una selezione jQuery con

.each(function(... 

Ma non ho bisogno di andare oltre tutti gli elementi, solo l'uno prima e dopo.

Gli elementi saranno anche ordinati dinamicamente (usando jQuery UI typesables).

+0

così sono i prossimi, i bambini e il genitore precedente? – TStamper

+0

Sono in diversi contenitori div per l'ordinabile. – chrismar035

risposta

18

Si potrebbe fare qualcosa di simile:

var inp = $('input'); 

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

noti che prev e next, proprio come questo non sono oggetti jQuery ma DOM ora oggetto. Per renderli oggetti jQuery è necessario avvolgerli nella funzione $().

+0

ha funzionato perfettamente! Grazie! – chrismar035

8

jQuery ha un supporto incorporato, come richiesto da voi,

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

next

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

previous

Problemi correlati