У меня есть страница со 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 удалил только половину из них.
Почему это происходит и как это исправить?
 
                                                                     
                                                                    