Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

282
Visualizações
Cambiar el color de fondo de la celda de la tabla HTML después de que Javascript lo cambia

Tengo una tabla HTML que da como resultado esto: (Se construye manualmente en HTML y se diseña con CSS a través de las clases rowStyle1 y rowStyle2 )

ingrese la descripción de la imagen aquí

Cuando el usuario hace clic en los botones para la próxima semana o la semana anterior, la página carga un cronograma y, si hay algún punto de datos para cargar en la tabla, coloca el texto en la celda y cambia el color de fondo con este código:

 document.getElementById(cellID).innerText = parsed.title document.getElementById(cellID).style.backgroundColor = "#cc00cc"

El problema es que, cuando el usuario quiere cambiar de semana, la tabla debe "limpiarse" y prepararse para los nuevos datos. Eso no sucede a pesar de que puse este código al comienzo de la función que se activa cuando se presiona cualquier botón:

 let cells = document.getElementsByClassName("rowStyle1") for (let i = 0; i < cells.length; i++) { cells[i].style.backgroundColor = "#ffffff" } let cells2 = document.getElementsByClassName("rowStyle2") for (let i = 0; i < cells2.length; i++) { cells2[i].style.backgroundColor = "#d8ebfa" }

Sé que este código funciona, porque puedo cambiar los colores de las celdas cuando la página se carga por primera vez usando este código, pero todavía deja una celda de color cuando cambio de semana:

ingrese la descripción de la imagen aquí

¿Cómo cambio el color de la celda para poder "restablecer" la tabla y prepararme para los nuevos datos? ¿Tiene algo que ver con configurar el color a través de javascript?

(Por cierto, todo este código se ha escrito en HTML, CSS y JavaScript nativos, por lo que cualquier solución que no involucre ningún complemento sería muy apreciada).

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Generalmente es una mala idea establecer estilos directamente con JavaScript. Por lo general, es mejor establecer una clase, ...

(NB: no busque repetidamente referencias de elementos, sino guárdelas):

 const cell = document.getElementById(cellID); cell.innerText = parsed.title cell.classList.add("highlighted");

... y todo lo que necesita hacer es eliminar esa clase nuevamente, cuando reinicie:

 for (let i = 0; i < cells.length; i++) { cells[i].classList.remove("highlighted"); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda