我已经使用 javascript 创建了一个按钮,现在我想给它一个 onclick。但是我希望该函数有一个参数 i。问题是,当我检查控制台时,onclick 函数只是 onclick=playAudio(i)。我希望 for 循环中 i 的每个值都不同,但因为它位于括号中,所以它只是保留为 i 而不是 for 循环中的当前数字。我希望我已经正确解释了这一点。下面的一些代码可以帮助您理解。
var i;
var audioMp3 = ["audio/Un", "audio/Deux", "audio/Trois", "audio/Quatre", "audio/Cinq", "audio/Six", "audio/Sept", "audio/Huit", "audio/Neuf", "audio/Dix"];
for(i = 0; i < audioMp3.length; i++{
var audioBtn = document.createElement("BUTTON");
audioBtn.setAttribute("onclick", "playAudio(i);";
}
最佳答案
var audioMp3 = ["audio/Un", "audio/Deux", "audio/Trois", "audio/Quatre", "audio/Cinq", "audio/Six", "audio/Sept", "audio/Huit", "audio/Neuf", "audio/Dix"];
for(var i = 0; i < audioMp3.length; i++){
var node = document.createElement("BUTTON");
var textnode = document.createTextNode(audioMp3[i]);
node.appendChild(textnode);
node.setAttribute("onclick", "playAudio("+i+");");
document.getElementById("element").appendChild(node);
}
function playAudio(i){
alert(i);
}
<div id="element"></div>
关于javascript:使用按钮参数设置 onclick 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45230926/