Effacer l'lment
importance: 5
Crez une fonction clear(elem) qui supprime tout de llment.
<ol id="elem">
<li>Hello</li>
<li>World</li>
</ol>
<script>
function clear(elem) { /* votre code */ }
clear(elem); // efface la liste
</script>
Voyons dabord comment ne pas le faire :
function clear(elem) {
for (let i=0; i < elem.childNodes.length; i++) {
elem.childNodes[i].remove();
}
}
Cela ne fonctionnera pas, car lappel remove() dcale la collection elem.childNodes, donc les lments commencent partir de lindex 0 chaque fois. Mais i augmente et certains lments seront ignors.
La boucle for..of fait de mme.
La bonne variante pourrait tre :
function clear(elem) {
while (elem.firstChild) {
elem.firstChild.remove();
}
}
Et il existe galement un moyen plus simple de faire de mme :
function clear(elem) {
elem.innerHTML = '';
}