Estoy tratando de crear un botón que haga que un elemento desaparezca/reaparezca dependiendo de si la propiedad de visualización es igual a "bloquear" o "ninguna", respectivamente. Esto es lo que probé:
// this is a function that executes when the button is pressed { let a = document.getElementsByClassName("photo"); // here a[0] returns the <img> that i want to delete/undelete but // a[0].style.display returns an empty string if(a[0].style.display == "block") a[0].style.display = "none"; // so this doesnt work else if(a[0].style.display == "none") a[0].style.display = "block"; }
Logré que funcionara agregando la propiedad onLoad = "init()" a la etiqueta del cuerpo. init () establece la propiedad de visualización de la imagen en "bloquear" cuando se carga la página, según tengo entendido, y eso resolvió el problema, pero quiero entender por qué la propiedad de visualización no tenía un valor inicialmente.
Tenga en cuenta que configuré la propiedad de visualización para "bloquear" manualmente en css, aunque no creo que esto deba importar ya que img tiene una visualización predeterminada: en línea, por lo que a[0].style.display debería devolver "en línea" en lugar de una cadena vacía.
Esta fue mi primera pregunta aquí, así que si hay algo que debería haber hecho de manera diferente, no dude en hacérmelo saber :)
Por lo que he leído, una cadena vacía puede significar que es el valor predeterminado del elemento. Entonces, para div, eso sería block
.