Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

310
Views
Cómo obtener el valor del elemento secundario cuando se hace clic en el elemento principal

Quiero obtener el valor del src de <img> cuando se hace clic en cada div principal. ¿Cómo puedo obtener el valor de cada div principal> elemento secundario?

 const mybtn = document.getElementById('maybe'); const parent = document.getElementById('parent'); mybtn.addEventListener('click', function(e) { parent.innerHTML = ` <div id="main"> <div id="one" class="one"><img src="https://www.w3schools.com/html/pic_trulli.jpg"</div> <div id="one" class="one"><img src="https://www.w3schools.com/html/img_girl.jpg"</div> <div id="one" class="one"><img src="https://www.w3schools.com/html/img_chania.jpg"</div> </div> `; }); parent.addEventListener('click', (e) => { if (e.target.closest('#main .one')) { //Close Button alert('dis'); } });
 <div id="parent"></div> <button id="maybe">Set</button>

about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

No hay necesidad de preocuparse por las divisiones principales. Use su oyente existente pero verifique que el elemento en el que se hizo clic matches un elemento de imagen y luego registre su src .

Nota: los identificadores deben ser únicos. No más de uno en una página.

 const mybtn = document.getElementById('maybe'); const parent = document.getElementById('parent'); mybtn.addEventListener('click', function(e) { parent.innerHTML = ` <div id="main"> <div class="one"><img src="https://www.w3schools.com/html/pic_trulli.jpg" /></div> <div class="one"><img src="https://www.w3schools.com/html/img_girl.jpg" /></div> <div class="one"><img src="https://www.w3schools.com/html/img_chania.jpg" /></div> </div>`; }); parent.addEventListener('click', (e) => { if (e.target.matches('img')) { console.log(e.target.src); } });
 img { width: 100px; } .one { padding: 2em; background-color: #efefef; margin: 0.5em; width: 150px; }
 <div id="parent"></div> <button id="maybe">Set</button>

Editar: siguiendo tu comentario.

En lugar de tener un oyente, deberá agregar oyentes a cada div con one clase después de haber agregado el HTML a la página.

 const mybtn = document.getElementById('maybe'); const parent = document.getElementById('parent'); mybtn.addEventListener('click', function(e) { parent.innerHTML = ` <div id="main"> <div class="one"><img src="https://www.w3schools.com/html/pic_trulli.jpg" /></div> <div class="one"><img src="https://www.w3schools.com/html/img_girl.jpg" /></div> <div class="one"><img src="https://www.w3schools.com/html/img_chania.jpg" /></div> </div>`; const ones = document.querySelectorAll('.one'); ones.forEach(one => { one.addEventListener('click', handleClick, false); }); }); function handleClick(e) { if (e.target.matches('.one')) { const img = e.target.querySelector('img'); console.log(img.src); } }
 img { width: 100px; } .one { padding: 2em; background-color: #efefef; margin: 0.5em; width: 150px; } .one:hover { background-color: #dfdfdf; }
 <div id="parent"></div> <button id="maybe">Set</button>

about 4 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!