Ya he visto varios ejemplos aquí en este sitio, pero mi problema aún persiste.
Me explico brevemente: tengo una serie de if/if else que me deben devolver el div correspondiente, según el tipo. Y hasta ahora no hay problemas.
Ahora quiero que, en caso de que falte el tipo, me devuelva un div oculto, por lo tanto, no visible
Intenté como está escrito a continuación, pero, por ejemplo, si falta el video de YouTube, aparece una imagen con un borde negro y un fondo blanco. Me gustaría eliminar esta "imagen" porque no es una buena práctica para mostrar.
¿Cómo es que no funciona como lo hice yo?
<div class="video"> <iframe id="idframe" width="600" height="400" > </iframe> </div> <br> else if . . . else if (myArray.Items[2].type == "video"){ document.getElementById("idframe").src = "https://www.youtube.com/embed/"+idurl; } else if(myArr.Items[2]type == ""){ document.getElementById("idframe").style.display='none'; } .video { display: block; margin-left: auto; margin-right: auto; text-align: center; }Creo que hay un problema con esta línea:
document.getElementById("").style.display='none'; tal vez te pierdas la id aquí en getElementById("")
Dijiste que si falta el video, aparece una imagen.
¿Ha comprobado que el elemento de la matriz devuelve un valor en blanco y no algún otro valor?
Tal vez sería mejor tener un catch all en su lugar:
Por ejemplo:
else { document.getElementById("idframe").style.display='none'; }