En una tabla con algunas filas ocultas, quiero obtener la siguiente fila visible, si existe. Esto hará el trabajo:Encuentra de manera eficiente la siguiente fila de la tabla visible con jQuery
row = $(selectedRow).nextAll(':visible');
if ($(row).length > 0)
selectedRow = row;
pero es muy lento cuando muchas filas siguen la fila seleccionada. Un enfoque guión es:
var row = $(selectedRow).next();
while ($(row).length > 0 && !$(row).is(':visible'))
row = $(row).next();
if ($(row).length > 0)
selectedRow = row;
Esto es mucho más rápido, pero no tiene que ser un enfoque de todo jQuery elegante que puedo usar.
Gracias por la respuesta. El problema es $ (selectedRow) .next (': visible') primero aplica .next() y luego me da la siguiente fila si es visible. Si no es visible, no obtengo nada. –
Respuesta actualizada. – Blazemonger
Gracias por tomarse el tiempo para responder. No sabía acerca de nextUntil(). Intenté con lo que sugieres, pero no me funcionó porque nextUntil() devuelve un conjunto vacío si no hay filas no visibles entre la fila seleccionada y la siguiente fila visible, y el .next parece aplicarse a ese conjunto vacio. Pero su guía me llevó a algo mejor de lo que tenía, que publicaré como respuesta a mi propia pregunta. –