Cita: Hola, Kalhito, no hace falta referir al id ni hacer una función por cada imagen. Podés usar delegación de eventos, por ejemplo (hay muchas maneras, pero esa te irá bien). Podés investigar un poco (
https://javascript.info/event-delegation), pero es más o menos así:
Estaba respondiéndote, pero se me adelantó prueba230683. Solo cambiaría esto:
Código:
contenedor.onclick = function(event){
var elemento = event.target;
if(elemento.tagName = "IMG"){ // si se ha hecho click a una imagen
modal.style.display = "flex";
modalImg.src = elemento.src;
captionText.innerHTML = elemento.alt;
}
}
Por esto:
Código:
var contenedor=document.getElementById('contenedor');
contenedor.addEventListener(
'click',
function(e){
var elemento = e.target;
if(elemento.nodeName.toLowerCase()== "img"){
modal.style.display = "flex";
modalImg.src = elemento.src;
captionText.innerHTML = elemento.alt;
}
}
);