Очистите элемент
важность: 5
Создайте функцию clear(elem), которая удаляет всё содержимое из elem.
<ol id="elem">
<li>Привет</li>
<li>Мир</li>
</ol>
<script>
function clear(elem) { /* ваш код */ }
clear(elem); // очищает список
</script>
Сначала давайте посмотрим, как не надо это делать:
function clear(elem) {
for (let i=0; i < elem.childNodes.length; i++) {
elem.childNodes[i].remove();
}
}
Это не будет работать, потому что вызов remove() сдвигает коллекцию elem.childNodes, поэтому элементы начинаются каждый раз с индекса 0. А i увеличивается, и некоторые элементы будут пропущены.
Цикл for..of делает то же самое.
Правильным вариантом может быть:
function clear(elem) {
while (elem.firstChild) {
elem.firstChild.remove();
}
}
А также есть более простой способ сделать то же самое:
function clear(elem) {
elem.innerHTML = '';
}