我正在尝试创建一个网站,用户可以按下按钮,然后数组中的数据可以显示在屏幕上。我不知道该怎么做。请帮忙! (p.s.我是初学者,请耐心等待。)
<!DOCTYPE html>
<html>
<body> <!-- ******* BODY OPEN ********** -->
<button onclick="ShowAllMale()">Do a Function Button</button>
<p id="btn"></p>
<!-- ******************** Javascript ********************** -->
<script>
const dogsMale = ["Boris ", "Harley ", "Max"];
function showAllMale(dogsMale) {
document.getElementById("btn").innerHTML= dogsMale;
}
</script> <!-- *********** Javascript closed ************** -->
</body> <!-- ******* BODY CLOSED********** -->
</html>`
JavaScript 中的数组被视为“对象”。您无法将对象注入 DOM(文档对象模型)。您需要等号的另一边 (innerHTML = ...) 为字符串。
您需要单独获取每个数组项的索引。
innerHTML
删除所需位置的内容,因此您必须添加内容,因此使用“+=”而不是仅用“=”对其进行分配。
function showAllMale(dogsMale) {
const pBtn = document.getElementById("btn");
// Add each array item
pBtn.innerHTML += dogsMale[0] + ' '; // Boris
pBtn.innerHTML += dogsMale[1] + ' '; // Harley
pBtn.innerHTML += dogsMale[2] + ' '; // Max
}
您还可以使用“for”循环,而不是像这样手动添加每个数组项。
for (let i = 0; i < dogsMale.length; i++) {
const pBtn = document.getElementById("btn");
pBtn.innerHTML += dogsMale[i] + ' ';
}
检查此以供参考:https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML
确保按钮“onClick”中的
showAllMale
的拼写与声明该函数的位置完全相同。