所以我在innerHTML上遇到了问题。我有一个空数组buttons,我使用for循环填充它。然后使用另一个for循环将每个按钮的innerHTML设置为"Info",但是当我检查我的网站时,按钮仍然为空。
//数组
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> Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
使用jQuery,你应该调用
buttons[s].html("Info");来设置innerHTML。然而,在这里使用buttons[s].text("Info");更好,因为实际上字符串中没有任何HTML标签。你也可以使用一个选择器来选择所有以
"btn"开头的按钮,然后一次性设置它们的文本。const buttons = $('[id^=btn]'); buttons.text('Info');