Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

199
Visualizações
¿Cómo puedo asignar la var al HTML interno de botones individuales cuando los botones se crean a través de un bucle for?

Al usar Django, mis botones se crean usando un bucle for y se les asignan valores basados en los valores del modelo.

Según el botón en el que se haga clic, quiero actualizar "new_note_header" con el código HTML interno del botón.

Creé el siguiente JavaScript, que funciona pero solo cuando se hace clic en el primer botón.

 <script> function ProjectSelect () { var x = document.querySelector('button').innerHTML; document.getElementById('new_note_header').innerHTML = x; } document.addEventListener('DOMContentLoaded', function () { document.querySelector('button').onclick = ProjectSelect; }); </script> <div class = project_container> {% for project in projects %} <button class = individual_project_container> {{ project }} </button> {% endfor %} </div> <div class = note_header_container> <div class = new_note_header, id = new_note_header> New Note </div> </div>

Agradecería cualquier ayuda para adaptar el JavaScript para que funcione para todos los botones en los que se hace clic.

Muchas gracias

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

querySelector tomará el PRIMER elemento que satisfaga el selector

Puede usar querySelectorAll y asignar un controlador de eventos de clic a cada uno, pero recomiendo usar la delegación:

 document.addEventListener('DOMContentLoaded', function() { const nnHead = document.getElementById('new_note_header'); document.getElementById("project_container").addEventListener("click", e => { const tgt = e.target.closest("button"); if (!tgt.matches(".individual_project_container")) return; // not a button nnHead.textContent = tgt.textContent.trim(); }); });
 <div class="project_container" id="project_container"> <button class="individual_project_container">Project 1</button> <button class="individual_project_container">Project 2</button> <button class="individual_project_container">Project 3</button> </div> <div class="note_header_container"> <div class="new_note_header" id="new_note_header"> New Note </div> </div>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda