⊗jsSpStGWD 43 of 294 menu

DOM-elementtien hankinta ilman duplikaatteja

Oletetaan, että meillä on kappaleita ja painike:

<p>aaa</p> <p>bbb</p> <p>ccc</p> <p>ddd</p> <p>eee</p> <button>click me</button>

Anna käyttäjän napsautella näitä kappaleita missä tahansa järjestyksessä. Tehdään niin, että painiketta painamalla jokaisen napsautetun kappaleen loppuun lisätään huutomerkki. Ratkaistaan tehtävä Set:n avulla.

Aloitetaan. Ensin haetaan elementtimme muttujiin:

let button = document.querySelector('button'); let elems = document.querySelectorAll('p');

Luodaan uusi Set-kokoelma:

let set = new Set;

Käydään läpi kappaleet silmukalla ja asetetaan niille klikkauskäsittelijä:

for (let elem of elems) { elem.addEventListener('click', function() { }); }

Lisätään nyt kappaleen napsautuksen yhteydessä kyseinen kappale kokoelmaan:

for (let elem of elems) { elem.addEventListener('click', function() { set.add(this); }); }

Koska käytämme Set-kokoelmaa, kappaleen uudelleen napsautus ei johtaisi kappaleen duplikaatin lisäämiseen.

Asetetaan nyt painikkeen napsautukselle toiminto, joka käy läpi kokoelmamme sisällön ja lisää jokaisen kappaleen loppuun huutomerkin:

button.addEventListener('click', function() { for (let elem of set) { elem.textContent = elem.textContent + '!'; } });

Annettuna on kappaleita ja painike. Käyttäjä napsauttelee näitä kappaleita missä tahansa järjestyksessä. Tee niin, että painiketta painamalla jokaisen napsautetun kappaleen loppuun lisätään huutomerkki.

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