尝试用按钮显示数据数组

问题描述 投票:0回答:1

我正在尝试创建一个网站,用户可以按下按钮,然后数组中的数据可以显示在屏幕上。我不知道该怎么做。请帮忙! (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 html arrays button show
1个回答
0
投票

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
的拼写与声明该函数的位置完全相同。

© www.soinside.com 2019 - 2024. All rights reserved.