I have the following markup:
<div id="maincontainer">
<div id="mainMenu">
<div class="giver">
<hr class = "giver-hr">
<select class ="giver-subject"></select>
<select class ="giver-status"></select>
<label class = giver-isClient>
<input type = "radio">
<span>lorem ipsum</span>
</label>
</div>
<div class="giver">
<hr class = "giver-hr">
<select class ="giver-subject"></select>
<select class ="giver-status"></select>
<label class = giver-isClient>
<input type = "radio">
<span>lorem ipsum</span>
</label>
</div>
<div class="giver">
<hr class = "giver-hr">
<select class ="giver-subject"></select>
<select class ="giver-status"></select>
<label class = giver-isClient>
<input type = "radio">
<span>lorem ipsum</span>
</label>
</div>
<div class="giver">
<hr class = "giver-hr">
<select class ="giver-subject"></select>
<select class ="giver-status"></select>
<label class = giver-isClient>
<input type = "radio">
<span>lorem ipsum</span>
</label>
</div>
<div class="giver">
<hr class = "giver-hr">
<select class ="giver-subject"></select>
<select class ="giver-status"></select>
<label class = giver-isClient>
<input type = "radio">
<span>lorem ipsum</span>
</label>
</div>
<div class="giver">
<hr class = "giver-hr">
<select class ="giver-subject"></select>
<select class ="giver-status"></select>
<label class = giver-isClient>
<input type = "radio">
<span>lorem ipsum</span>
</label>
</div>
<div class="giver">
<hr class = "giver-hr">
<select class ="giver-subject"></select>
<select class ="giver-status"></select>
<label class = giver-isClient>
<input type = "radio">
<span>lorem ipsum</span>
</label>
</div>
<div class="giver">
<hr class = "giver-hr">
<select class ="giver-subject"></select>
<select class ="giver-status"></select>
<label class = giver-isClient>
<input type = "radio">
<span>lorem ipsum</span>
</label>
</div>
<div class="giver">
<hr class = "giver-hr">
<select class ="giver-subject"></select>
<select class ="giver-status"></select>
<label class = giver-isClient>
<input type = "radio">
<span>lorem ipsum</span>
</label>
</div>
</div>
<div id="legalDocument"></div>
</div>
, where the <div class="giver"> element is repeated multiple (9) times.
What is the best way to append such blocks dynamically, through for(){} cycle for example? The innerHtml property is not recommended from what I've heard. and using a special recursive function that I made doesn't seem to be the right way either.
What should I do? I'd like to extend my Web pages with templates kinda like how Javascript classes behave.