Utilicé el código provisto como una respuesta que se encuentra en la pregunta Here . muy util para mi Pero estoy atrapado en algo realmente extraño.
Utilizo ajax para obtener algunos valores de la base de datos y luego los guardo en un diccionario, etc. Luego, con este código, compruebo los valores si son iguales a los que provienen de la base de datos y cambio el color de las celdas de las tablas respectivamente. primero y siempre el primer registro que sale de la base de datos no está cambiando al color correcto, no importa cuántos registros haya, el color debe ser #000 y no #ffff99" . Ambos valores que estoy comparando son las 12:00.
Eso parece bastante loco porque si elimino la declaración else del código. Todo funciona bien. Pero necesito la declaración else para hacer otras cosas importantes y, por cierto, no creo que no usar la declaración else sea una buena práctica xD.
A continuación se muestra mi código.
for(const [key, value] of Object.entries(data)) { var table = document.getElementById('table'),rows = table.rows, rowcount = rows.length, r,cells, cellcount, c, cell; for( r=0; r<rowcount; r++) { cells = rows[r].cells; cellcount = cells.length; for( c=0; c<cellcount; c++) { cell = cells[c]; var text = (cell.textContent || cell.innerText); if( text == key.substring(0,5)) { cell.style.backgroundColor="#000"; break; } else { cell.style.backgroundColor="#ffff99"; } } } }