【发布时间】:2020-05-17 01:27:12
【问题描述】:
我还想通过使用带有“onclick”属性的 getAttribute 来获取 forLoop 元素的值。但我得到的已经是最终价值。您如何在单击的确切值元素上获得每个循环的值?这是我的代码;
const btn = document.createElement('button');
const scrOutput = document.createElement('p');
const numbers = ['0','1','2','3','4','5','6','7','8','9'];
// For Loop Condition
for (let i=0; i<numbers.length; i++) {
btn.setAttribute('onclick', 'showOutput()');
btn.setAttribute('value', numbers[i]);
btn.innerText = numbers[i];
document.getElementById('numbers').innerHTML += btn.outerHTML;
const x = btn.getAttribute('value', numbers[i]);
console.log(x);
}
function showOutput(){
const btnVal = btn.getAttribute('value');
scrOutput.innerText = btnVal;
document.getElementById('screen').innerHTML = scrOutput.outerHTML;
console.log(btnVal);
}
【问题讨论】:
-
const btnVal = btn.getAttribute('value');只获取最后一个值集,即 9 -
您的
for循环在同一个按钮上设置了 10 次相同的属性。你想达到什么目的?你是不是想先创建 10 个单独的按钮? -
是的。我首先创建了按钮。然后每个按钮都有一个 eventListener 将显示在#screen 上。
标签: javascript arrays getattribute