Heim  >  Fragen und Antworten  >  Hauptteil

Rufen Sie den entsprechenden Schaltflächenwert in einer Schleife ab

querySelectorAll scheint die Liste der Schaltflächen nicht abzurufen, sobald ich einen dynamischen Satz Schaltflächen aus dem Array hinzufüge. Hier ist mein Code: Wo habe ich einen Fehler gemacht?

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 Tage vor439

Antworte allen(2)Ich werde antworten

  • P粉254077747

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

    您的问题可能来自于: <button class="allbuttons" value=${textBtn[i]}>${textBtn[i]}</button>

    您的值不在引号之间 <button class="allbuttons" value="${textBtn[i]}">${textBtn[i]}</button>

    Antwort
    0
  • P粉575055974

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

    有帮助吗?这是你需要的吗?

    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)
      });
    }

    Antwort
    0
  • StornierenAntwort