2017-02-15 9 views
0

次のJavascriptから1つのカード要素を追加できます。助けてください。次のJavascriptから1つのカード要素のみを追加できます

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); 
    }; 
}; 

createCards(); 
+0

移動 'VARの子供を=のdocument.createElement(「DIV」); for'ループ – Andreas

+0

'の体内に '' cardCount'はしていませんコードサンプルと関連があると思われるので、おそらくその行を削除することができます。 – csm

答えて

0

あなたのコードでは、ループの反復ごとにgbに(children変数に格納されている)同じdivを追加しようとしています。代わりに、各反復のための新しい要素を作成してみてください:

var gb = document.getElementById('game-board'); 
 

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

 
createCards();
.card{ 
 
    width: 50px; 
 
    height: 50px; 
 
    border: 1px solid gray; 
 
}
<div id="game-board" ></div>

+0

ありがとう!ありがとうございました !これは動作します! :D – DarkArtistry

0

あなたがループ内で動かし続けるだけ1「子供」の項目があります。それを修正する1つの方法は、追加する前にそれを毎回のクローンを作成することです:

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(); 
+0

これも同様に動作します!ありがとうありがとう !私はここからたくさん学習して​​います。 :) – DarkArtistry

関連する問題