首页 > 解决方案 > 我想通过仅显示用户输入的最后一个元素而不是显示所有内容来将循环中的多个元素显示到文档中

问题描述

<body>
        <div id = "app">TODO... This is an HTML5 Template. Put your own content here.</div>
        <script>

        var Para = prompt("How many paragraph elements you want?");
        var  element;

        for(i = 0; i < Para; i++){
          element = prompt("Provide the element you want to fill up the Paragraph above");

        } 
        document.getElementById("app").innerHTML = element;
        </script>
    </body>

标签: javascriptgetelementbyid

解决方案


你应该做这样的事情:

document.getElementById("app").insertAdjacentHTML('beforeend', element);

正如@Makyen 所说,你不应该innerHTML +=像我在第一个答案中所说的那样使用。这可能会在您的应用程序中产生问题,请点击评论中的链接以获取更多信息。

也许,我写的那行代码应该在for循环内。

for(i = 0; i < Para; i++){
  element = prompt("Provide the element you want to fill up the Paragraph above");
  document.getElementById("app").insertAdjacentHTML('beforeend', element);
} 

推荐阅读