16 of 17 menu

Virheellisen vanhemman elementin tyhjentämisvirhe JavaScriptissä

Oletetaan, että meillä on jokin lista. Oletetaan, että painiketta painamalla haluamme muodostaa tämän listan uudelleen joka kerta, tyhjentäen sen aiemman sisällön. Aloittelijat usein tekevät virheen yrittäessään keksiä jotain monimutkaista ratkaisua. Katsotaanpa yksinkertaista vaihtoehtoa.

Oletetaan, että saamme listan muuttujaan:

let ul = document.querySelector('ul');

Oletetaan myös, että saamme painikkeen:

let btn = document.querySelector('button');

Oletetaan, että painiketta painamalla listamme täyttyy joillakin arvoilla. Esimerkiksi otin satunnaisen arvon, joka vastaa nykyistä sekuntia:

btn.addEventListener('click', function() { let rand = new Date.getSeconds(); for (let i = 0; i <= rand; i++) { let li = document.createElement('li'); li.textContent = i; ul.append(li); } });

Yllä olevassa koodissa uudet listakohdat lisätään jo olemassa olevien jälkeen. Mutta me haluaisimme, että edelliset kohdat poistettaisiin ensin. Ratkaisu on yksinkertainen - täytyy vain tyhjentää ul-tagimme teksti:

btn.addEventListener('click', function() { ul.textContent = ''; // tyhjennetään lista let rand = new Date.getSeconds(); for (let i = 0; i <= rand; i++) { let li = document.createElement('li'); li.textContent = i; ul.append(li); } });
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää