У меня есть страница со 100 элементами одного и того же имени класса. Я использую JavaScript для их создания, как показано ниже:
for(let i = 0; i < 100; i++){
var element = document.createElement("div");
element.classList.add("hi");
element.innerHTML="hi";
document.body.appendChild(element);
}
console.log(document.getElementsByClassName("hi").length); //This logs how many there are
Затем я попытался их удалить. Однако это удалило только половину из них. Результат можно увидеть здесь:
for(let i = 0; i < 100; i++){
var element = document.createElement("div");
element.classList.add("hi");
element.innerHTML="hi";
document.body.appendChild(element);
}
var elements = document.getElementsByClassName("hi");
for(let i = 0; i < elements.length; i++){
elements[i].remove();
}
console.log(document.getElementsByClassName("hi").length);
Как видно выше, он регистрирует 50 элементов, что означает, что мой цикл FOR удалил только половину из них.
Почему это происходит и как это исправить?