首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript document.getelementbyid()不能在html加载时使用循环

javascript document.getelementbyid()不能在html加载时使用循环
EN

Stack Overflow用户
提问于 2020-10-26 16:13:04
回答 1查看 22关注 0票数 0

我编写了一个函数,通过尝试获取每个div id来填充我的index.html中的6个div。我希望在页面加载时发生这种情况。

发生的事情是图像只填充第六个div,我想要的是要加载到所有div中的id='flip-card‘的图像。

我将'console.log(i)‘放在for循环中,以检查循环是否正常工作。它正在工作,但不知何故不想用图像填充所有的div,它只填充最后一个。

有人能帮帮我吗?我错过了什么?非常感谢你的帮助

这是我的index.html文件

代码语言:javascript
运行
复制
<div id="container-project-5">
    <h1>MEMORY GAME</h1>
    <div class="container-flip-row">
      <div id="flip-card-1" class="flip-card-spot"></div>
      <div id="flip-card-2" class="flip-card-spot"></div>
      <div id="flip-card-3" class="flip-card-spot"></div>
    </div>
    <div class="container-flip-row">
      <div id="flip-card-4" class="flip-card-spot"></div>
      <div id="flip-card-5" class="flip-card-spot"></div>
      <div id="flip-card-6" class="flip-card-spot"></div>
    </div>
  </div>

<script src="loadimage.js"></script>

这是我的js文件

代码语言:javascript
运行
复制
function loadImage() {
  let img = document.createElement("img");
  img.src = "https://static8.depositphotos.com/1000792/861/v/950/depositphotos_8614495-stock-illustration-fun-zoo-koala.jpg";
  
  img.setAttribute("width", "150px");
  img.setAttribute("height", "150px");
  
  //THIS loop SUPPOSE to FILL ALL the <div> with id 'flip-card' BUT SOMEHOW it ONLY FILL the 6th <div> which is <div id='flip-card-6" class='flip-card-spot'>
  for (let i = 1; i <= 6; i++) {
    document.getElementById("flip-card-" + i).appendChild(img);
    //this is console log to check if for-loop is working
    console.log(i);
  }
}

//LOAD FUNCTION when BROwSER is LOADED
window.addEventListener("load", loadImage);

这是我的css

代码语言:javascript
运行
复制
<style>

.flip-card-spot {
  display: flex;
  margin: 1px;
  background-color: green;
  width: 150px;
  height: 150px;
}

.container-flip-row {
  display: flex;
}

</style>
EN

回答 1

Stack Overflow用户

发布于 2020-10-26 16:15:09

您每次都会附加相同的图像元素。将创建元素的代码也移动到循环中,这样您就可以创建多个元素,或者使用cloneNode

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64533488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档