We want to make this open-source project available for people all around the world.

Help to translate the content of this tutorial to your language!

BuyEPUB/PDF
Share
back to the lesson

Clear the element

importance: 5

Create a function clear(elem) that removes everything from the element.

<ol id="elem">
 <li>Hello</li>
 <li>World</li>
</ol>
<script>
 function clear(elem) { /* your code */ }
 clear(elem); // clears the list
</script>

First, let’s see how not to do it:

function clear(elem) {
 for (let i=0; i < elem.childNodes.length; i++) {
 elem.childNodes[i].remove();
 }
}

That won’t work, because the call to remove() shifts the collection elem.childNodes, so elements start from the index 0 every time. But i increases, and some elements will be skipped.

The for..of loop also does the same.

The right variant could be:

function clear(elem) {
 while (elem.firstChild) {
 elem.firstChild.remove();
 }
}

And also there’s a simpler way to do the same:

function clear(elem) {
 elem.innerHTML = '';
}

AltStyle によって変換されたページ (->オリジナル) /