特定の量の列を作成し、各列に四角形を追加する目的でこのループを実行しようとしています。目標は1つのループでこれをすべて実行することでしたが、ループは1回、正常に実行されて終了しました。creatDocumentFragmentの入れ子になったforループがなぜ外側のforループを1回だけ実行するのですか?
function gridBuilder(columns,rows) {
var toAdd = document.createDocumentFragment();
for (i = 1; i <= columns; i++) {
var column = document.createElement('div');
column.id = 'card-column-'+i;
for (i = 1; i <= rows; i++) {
var row = document.createElement('div');
row.id = 'card-'+i;
row.className = 'card';
column.appendChild(row);
}
column.className = 'card-column';
toAdd.appendChild(column);
}
document.getElementById('card-container').appendChild(toAdd);
}
HTML/CSSが不足していると理解しています。 gridBuilder(5,4);
を実行すると、以下のように、4つの正方形で1つの列しか作成されないのはなぜですか?
<div id="card-container">
<div id="card-column-1" class="card-column">
<div id="card-1" class="card"></div>
<div id="card-2" class="card"></div>
<div id="card-3" class="card"></div>
<div id="card-4" class="card"></div>
</div>
</div>
注:クロームコンソールエラーを与えません。私はhereからほとんどを得ました。何らかの理由でこれのようなネストされたforループを実行することはできませんか?
このコードにプランナーを作成できますか? – VicJordan
私はプランカが何であるか分かりませんが、私はただそれを理解しました...他のnoobsが見ることができるように答えを投稿します。 –