<label><input type="checkbox" onchange="box()" class="checkboxes">Alliexpress.com<br></label>
<label><input type="checkbox" onchange="box()" class="checkboxes">Twitter.com<br></label>
<label><input type="checkbox" onchange="box()" class="checkboxes">Vk.com<br></label>
<label><input type="checkbox" onchange="box()" class="checkboxes"> Mail.ru<br></label>
<button id="del">Delete</button>
function box () {
var boxes = document.getElementsByClassName('checkboxes');
var labels = document.getElementsByTagName('label');
for(var i = 0;i < boxes.length; i++) {
if(boxes[i].checked) {
labels[i].classList.add('active');
labels[i].classList.remove('posive');
} else {
labels[i].classList.add('posive');
labels[i].classList.remove('active');
}
}
}
$('#del').click( function () {
var types = document.getElementsByClassName('active');
for(var i = 0; i < types.length;i++) {
types[i].remove();
}
});
Не могу понять что не так
document.getElementsByClassName
возвращает не массив, а коллекцию нодов и перебор через i++ вам тут не поможет, потому что как только вы удаляете элемент, он пропадает и из этой коллекции. Может кто-то другой сможет это точно объяснить, я не очень умная.$('#del').click( function () {
var types = document.getElementsByClassName('active');
while (types[0]) {
types[0].remove();
}
});