I have an array of companies:
var list = ["company1", "company2", "company3", "company4", "company5", "company6"];
And I want to loop through the array and append a list of companies to the dom in groups of three. Like this:
<div class="row">
<div class="col col-4">Company 1</div>
<div class="col col-4">Company 2</div>
<div class="col col-4">Company 3</div>
</div>
<div class="row">
<div class="col col-4">Company 4</div>
<div class="col col-4">Company 5</div>
<div class="col col-4">Company 6</div>
</div>
<div class="row">
<div class="col col-4">Company 7</div>
<div class="col col-4">Company 8</div>
<div class="col col-4">Company 9</div>
</div>
^ so this would be the ideal markup - that gets generated after the array is looped. Ideally I want to create an empty markup template - then read from that template then create markup in the js
My code:
var list = ["company1", "company2", "company3", "company4", "company5", "company6"];
var itemWrapper = $('.wrapper');
var itemRow = itemWrapper.find('.row');
var itemCol = itemRow.find('.col').eq(0);
console.log("itemRow", itemRow);
console.log("itemCol", itemCol);
itemWrapper.empty();
$.each(list, function(index, value) {
console.log("index", index);
console.log("value", value);
if (index % 3 == 0) {
console.log("-------new row");
$('.wrapper').append('<div class="row">');
}
$('.wrapper').append(itemCol.html(value));
if (index % 3 == 0) {
//$('.wrapper').append('</div>');
console.log("-------end row");
}
});
/*
if (index % 3 == 0) {
console.log("new row");
modalWindow.partyContainer.append('<div class="row party-list">');
}
console.log("modalWindow.itemRow", modalWindow.itemRow);
var itemCol = $(modalWindow.itemRow).html(value.name);
modalWindow.partyContainer.append(itemCol);
if (index + 3 % 3 == 0) {
console.log("end row");
modalWindow.partyContainer.append('</div>');
}
if (index == 12) {
return false;
}
*/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrapper">
<div class="row">
<div class="col col-4">x</div>
<div class="col col-4">c</div>
<div class="col col-4">v</div>
</div>
</div>