Заключение этот флажок с jQuery ($) , предложенный другими, работает идеально.
Код:
$(thischeckbox).replaceWith(function () {
return $("<label> ticked <label/>")
});
Если вы собираетесь заменить флажок только меткой, в использовании функции нет необходимости. Вместо этого вы можете передать элемент напрямую как параметр.
$(thischeckbox).replaceWith($("<label> ticked <label/>"));
Рабочая демонстрация:
var checkboxes = $('[type = checkbox]')
var checkboxesLength = checkboxes.length;
function replaceCheckboxes(){
for (var N = 0; N < checkboxesLength; N++) {
var thischeckbox = checkboxes[N];
if (thischeckbox.checked) {
$(thischeckbox).replaceWith(function () {
return $("<label> ticked <label/>")
});
//Alternate
//$(thischeckbox).replaceWith($("<label> ticked12 <label/>"));
}
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id='item1' type=checkbox />Item1 <br><br>
<input id='item2' type=checkbox />Item2 <br><br>
<input id='item3' type=checkbox />Item3 <br><br>
<br>
<button onclick='replaceCheckboxes()'>Replace </button>