El siguiente es un código que he escrito para cambiar el color de una cuadrícula a índigo al hacer clic en él y luego eliminar el color con el segundo clic. Sin embargo, no sé cómo reescribir la declaración if-else usando un operador ternario.
const grid1=document.querySelector(".cell01") grid1.addEventListener("click", (e)=>{ console.log(e); if (grid1.style.backgroundColor) { grid1.style.backgroundColor = ""; } else { grid1.style.backgroundColor = "indigo"; } })De forma anticipada, muchas gracias por su ayuda (:
Actualizar ¡Gracias por las respuestas! Pero ahora tengo una consulta más: quería probar diferentes formas de reescribir el mismo código y se me ocurrió esto:
grid1.style.backgroundColor=(grid1.style.backgroundColor!=true) ? "indigo" : "";
Hizo exactamente lo que quería con la expresión (grid1.style.backgroundColor==false) , pero no en el caso de la primera. ¿Hay alguna razón por qué?
Traducción directa a un ternario:
grid1.style.backgroundColor = grid1.style.backgroundColor ? "" : "indigo";grid1.style.backgroundColor = grid1.style.backgroundColor ? '' : 'indigo'
Puedes probar esto:
grid1.style.backgroundColor = grid1.style.backgroundColor ? "" : "indigo";Consulte la siguiente referencia para obtener más información sobre el operador ternario https://www.freecodecamp.org/news/ternary-operator-javascript-if-statement-tutorial/