¿Cómo configurar la clase de fila de una tabla en función del contenido de celda usando jQuery?

Tengo la siguiente tabla:

Name Status
Project 1 Closed
Project 2 Open
Project 3 Closed

Estoy tratando de mover parte de mi código de UI que solía hacer en el código subyacente a jQuery. Me gustaría cambiar la clase del elemento TR siempre que la columna Estado (Columna 2) tenga un valor de Abrir.

¿Cuál sería el mejor enfoque para hacer esto con jQuery?

 $('tbody > tr', 'table.grid').filter(function() { return $(this).children('td').eq(1).text() == 'Open'; }).addClass('open_tr'); 

Lo que está haciendo:

Está seleccionando todos los elementos

dentro del

del contexto table.grid . La función de filtro le permite filtrar elementos en función de lo que devuelve, ya sea verdadero para mantener o falso para descartar. Así que dentro del filtro obtenemos todos los elementos secundarios de tr, obtenemos el segundo

y devolvemos si su texto es igual a ‘Abrir’; si lo es, devolvería verdadero y podríamos mantener al padre

en el selector. Todo lo que queda entonces sería

con estado Abierto, por lo que podemos agregar una clase para marcarlos como tales.

No estoy escribiendo ningún código porque podría reutilizar algunos de los scripts jQuery que le permiten generar colores alternativos para las filas de la tabla, con una pequeña modificación.

Básicamente, en la carga de la página (en términos de jQuery – en el documento listo)

  1. obtener una referencia a las filas de la tabla.
  2. iterar a través de las filas que comprueban el valor de las columnas particulares.
  3. Si coincide con sus requisitos, cambie el color de la fila.