Ich habe also ein Problem mit innerHTML. Ich habe ein leeres Array mit Schaltflächen und fülle es mit einer for-Schleife. Dann verwende ich eine weitere for-Schleife, um das innerHTML jeder Schaltfläche auf „Info“ zu setzen, aber wenn ich meine Website überprüfe, sind die Schaltflächen immer noch leer.
//数组 let buttons = []; //循环问题 for(let i = 0; i < 2; i++) { //填充按钮数组的循环 for(let l = 0; l < 4; l++) { buttons[l] = $(`#btn${l}`); } //循环设置按钮的innerHTML for(let s = 0; s < buttons.length; s++) { buttons[s].innerHTML = "Info"; } } <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Quiz Game</title> </head> <body> <!-- 主容器 --> <div class="main-container"> <!-- 头部 --> <h1 class="header" id="header">Quiz Game</h1> <!-- 按钮 --> <button id="btn0"></button> <button id="btn1"></button> <button id="btn2"></button> <button id="btn3"></button> </div> <script src="/library/jquery-3.6.3.min.js"></script> <script src="test1.js"></script> </body> </html>
使用jQuery,你应该调用
buttons[s].html("Info");
来设置innerHTML。然而,在这里使用buttons[s].text("Info");
更好,因为实际上字符串中没有任何HTML标签。你也可以使用一个选择器来选择所有以
"btn"
开头的按钮,然后一次性设置它们的文本。