Maison  >  Questions et réponses  >  le corps du texte

Obtenez la valeur du bouton correspondant dans une boucle

querySelectorAll ne semble pas obtenir la liste des boutons une fois que j'ajoute un ensemble dynamique de boutons du tableau. Voici mon code : Où me suis-je trompé ?

const btns = document.getElementById("container");
const textBtn = ["btn 1", "btn 2", "btn 3", "btn 4", "btn 5", "btn 6"]
for (i = 0; i < textBtn.length; i++) {
  btns.insertAdjacentHTML('beforeend', `<button  class="allbuttons" value=${textBtn[i]}>${textBtn[i]}</button>`);
}

const btn = document.querySelectorAll(".allbuttons")
for (var i = 0; i < btn.length; i++) {
  btn[i].addEventListener('click', function(event) {
    //console.log( btn[i]);
    console.log(event.target.value);
    alert(event.target.value)
  });
}
<div id="container"></div>

P粉056618053P粉056618053202 Il y a quelques jours441

répondre à tous(2)je répondrai

  • P粉254077747

    P粉2540777472024-03-31 09:53:04

    Votre problème peut venir de : <button class="allbuttons" value=${textBtn[i]}>${textBtn[i]}</button>

    Votre valeur n'est pas entre guillemets <button class="allbuttons" value="${textBtn[i]}">${textBtn[i]}</button>

    répondre
    0
  • P粉575055974

    P粉5750559742024-03-31 00:47:14

    Est-ce utile ? Est-ce ce dont vous avez besoin?

    const btns = document.getElementById("container");
    const textBtn = ["btn 1", "btn 2", "btn 3", "btn 4", "btn 5", "btn 6"]
    for (i = 0; i < textBtn.length; i++) {
      btns.insertAdjacentHTML('beforeend', ``);
    }
    
    const btn = document.querySelectorAll(".allbuttons")
    for (var i = 0; i < btn.length; i++) {
      btn[i].addEventListener('click', function(event) {
        console.log(event.target.value);
        alert(event.target.value)
      });
    }

    répondre
    0
  • Annulerrépondre