一旦我从数组添加一组动态按钮,querySelectorAll 似乎没有获取按钮列表。 这是我的代码:我哪里出错了?
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粉2540777472024-03-31 09:53:04
您的问题可能来自于:
<button class="allbuttons" value=${textBtn[i]}>${textBtn[i]}</button>
您的值不在引号之间 <button class="allbuttons" value="${textBtn[i]}">${textBtn[i]}</button>
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) }); }