In una tabella con alcune righe nascoste, voglio ottenere la riga visibile successiva, se ne esiste una. Questo farà il lavoro:Trova in modo efficiente la prossima riga della tabella visibile con jQuery
row = $(selectedRow).nextAll(':visible');
if ($(row).length > 0)
selectedRow = row;
ma è molto lento quando molte righe seguono la riga selezionata. Un approccio script è:
var row = $(selectedRow).next();
while ($(row).length > 0 && !$(row).is(':visible'))
row = $(row).next();
if ($(row).length > 0)
selectedRow = row;
Questo è molto più veloce, ma ci deve essere un elegante approccio all-jQuery posso usare.
Grazie per la risposta. Il problema è $ (selectedRow) .next (': visible') prima applica .next() e poi mi dà quella riga successiva se è visibile. Se non è visibile, non ottengo nulla. –
Risposta aggiornata. – Blazemonger
Grazie per aver trovato il tempo di rispondere. Non sapevo su nextUntil(). Ho provato quello che suggerisci, ma non ha funzionato per me perché nextUntil() restituisce un set vuoto se non ci sono righe non visibili tra la riga selezionata e la successiva riga visibile, e sembra che a. set vuoto. Ma la tua guida mi ha portato a qualcosa di meglio di quello che ho avuto, che posterò come risposta alla mia stessa domanda. –