我只能从下面的Javascript中附加1个card元素

我只能从下面的Javascript中附加1个card元素,javascript,append,Javascript,Append,我只能从下面的Javascript中附加1个card元素。请帮忙 var gb=document.getElementById('game-board'); var cardCount=document.getElementsByClassName('card'); var children=document.createElement('div'); var createCards=函数(){ 对于(变量i=0;i

我只能从下面的Javascript中附加1个card元素。请帮忙

var gb=document.getElementById('game-board');
var cardCount=document.getElementsByClassName('card');
var children=document.createElement('div');
var createCards=函数(){
对于(变量i=0;i<5;i++){
children.className='card';
gb.儿童(儿童);
};
};
createCards();

在循环的每次迭代中,您的代码都试图将相同的
div
(存储在
子变量中)附加到
gb
。请尝试为每个迭代创建新元素:

var gb=document.getElementById('game-board');
var createCards=函数(){
对于(变量i=0;i<5;i++){
var children=document.createElement('div');
children.className='card';
gb.儿童(儿童);
};
};
createCards()
.card{
宽度:50px;
高度:50px;
边框:1px纯色灰色;
}
您只有一个在循环中不断移动的“子”项。解决此问题的一种方法是在每次追加之前对其进行克隆:

var gb = document.getElementById('game-board');
var cardCount = document.getElementsByClassName('card');
var children = document.createElement('div');

var createCards = function() {
  for (var i = 0; i < 5; i++) {
    children.className = 'card';
    gb.appendChild(children.cloneNode(true));
  };
};

createCards();
var gb=document.getElementById('game-board');
var cardCount=document.getElementsByClassName('card');
var children=document.createElement('div');
var createCards=函数(){
对于(变量i=0;i<5;i++){
children.className='card';
gb.appendChild(children.cloneNode(true));
};
};
createCards();

Move
var children=document.createElement('div')
进入
for
循环
cardCount
的主体似乎与代码示例不相关,因此您可能可以删除该行。这同样有效!谢谢,谢谢!!我从这里学到了很多。:)