How can I move each label in front of the input element they’re next to using jQuery?
<div class="input select classCheckBox">
<label for="checkboxId">classCheckBoxs</label>
<input type="hidden" id="checkboxId" value="" name="checkboxName" />
<br />
<div class="classCheckBox">
<input type="checkbox" id="checkboxId24" value="1" name="checkboxName[]" />
<label for="checkboxId24">1 </label>
</div>
<div class="classCheckBox">
<input type="checkbox" id="checkboxId25" value="2" name="checkboxName[]" />
<label for="checkboxId25">2</label>
</div>
<div class="classCheckBox">
<input type="checkbox" id="checkboxId26" value="3" name="checkboxName[]" />
<label for="checkboxId26">3</label>
</div>
<div class="classCheckBox">
<input type="checkbox" id="checkboxId27" value="4" name="checkboxName[]" />
<label for="checkboxId27">4</label>
</div>
<div class="classCheckBox">
<input type="checkbox" id="checkboxId28" value="5" name="checkboxName[]" />
<label for="checkboxId28">5</label>
</div>
</div>
DEMO
A little explain
$('.select .classCheckBox label')select eachlabelwithin each.classCheckBox$(this)within loop point tolabel.insertBefore()insert any element before the matched element that passed as argument$(this).prev('input')points theinputbeforelabelso,
$(this).insertBefore( $(this).prev('input') )will insert eachlabelbefore its previousinputRelated refs:
.insertBefore().prev().each()Alternate ways:
DEMO
OR
DEMO