2011-02-07 11 views

risposta

2

Prova closest che cerca l'antenato più vicino che corrisponde al selettore. per esempio.

$(this).closest('table').find('selector') 

Edit: Aggiunto trovare() alla fine

+2

'prev' non alza lo sguardo, questo non è davvero la stessa. – Kobi

+0

Il mio codice originale era: $ ('# tableid tr: last'). Prev(). Prev(). Prev(). Find ("img"). Click (function() {... ma $ (' #tableid tr: last '). closest ("img"). click (function() {non funziona :( – bubulina

5

Si può fare prevAll() con un selettore.

$('div').prevAll('a:last') 
21

È possibile utilizzare .prevAll, in combinazione con eq o :eq, dal momento che prevAll restituisce un insieme di elementi in ordine inverso iniziando con l'elemento che è più vicino al elemento corrente essendo [0], l'equivalente di .prev().prev().prev() sarebbe .prevAll().eq(2) o .prevAll(':eq(2)').

Vai a questa semplice demo: http://www.jsfiddle.net/QZYHN/

+0

+1 per completezza. – alex

+0

C'è anche [.prevUntil (selector)] (https: // api. jquery.com/prevUntil/). – Alvaro

-1

un'occhiata a nth-child in jQuery, potrebbe essere di aiuto ...

Problemi correlati