Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

139
Vistas
Mostrar diferentes imágenes en la misma página web

Estoy tratando de que cada div muestre una imagen cargada diferente, pero cuando intento cargar una imagen con el segundo div, cambia la imagen del primer div y no le sucede nada al segundo div.

 <div class="user-img">
 <img src="./images/image.jpg" alt="Avatar" id="photo">
 <input type="file" id="file" accept="image/*">
 <label for="file" id="uploadbtn"><i class="fas fa-camera"></i></label>
</div>
<div class="user-img">
 <img src="./images/image.jpg" alt="Avatar" id="photo">
 <input type="file" id="file" accept="image/*">
 <label for="file" id="uploadbtn"><i class="fas fa-camera"></i></label>
</div>
<script>
 const img = document.querySelector('#photo');
 const file = document.querySelector('#file');

 file.addEventListener('change', function(){
 const chosenFile = this.files[0];
 if(chosenFile){
 const reader = new FileReader();
 reader.addEventListener('load', function(){
 img.setAttribute('src',reader.result);});
 reader.readAsDataURL(chosenFile);
 }
});
</script>
almost 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No puede tener dos elementos con el mismo ID de archivo y foto. Las identificaciones deben ser únicas. En este caso, debería utilizar clases en su lugar.

Luego use document.getElementsByClassName() para recibir una matriz de elementos que puede iterar y agregar el detector de eventos a los elementos del archivo.

almost 4 years ago · Santiago Trujillo Denunciar

0

Cambie sus elementos <img> para usar nombres de clase, en lugar de ID. Ex:

 <img src="./images/image.jpg" alt="Avatar" class="photo">

Luego tome sus imágenes usando una llamada document.getElementsByClassName() como la siguiente

 const imgs = document.getElementsByClassName('photo');

Luego puede recorrer la matriz imgs y establecer el atributo src, así

 imgs.forEach((img) => {
 img.setAttribute('src', reader.result);
});
almost 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda