[ Web Proxy ]
URL:
Viewing: https://fr.javascript.info/task/clear-elem [Back]  [Original]

Effacer l'lment
FR

Nous souhaitons rendre ce projet open source disponible pour les gens du monde entier.

Aidez-nous traduire le contenu de ce tutoriel dans votre langue!

    Rechercher sur Javascript.info:
    Rechercher dans le tutoriel:
    Light themeDark theme
    DanskEnglishEspaolFranaisIndonesiaItalianoTrkeOzbek
    retour au cours

    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>
    solution

    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 = '';
    }

    Web Proxy Viewer  |  New URL  |  Original Page