⊗jsSpStGWD 43 of 294 menu

DOM elemek lekérése duplikátumok nélkül

Tegyük fel, hogy vannak bekezdéseink és egy gombunk:

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

Tegyük fel, hogy a felhasználó ezekre a bekezdésekre kattint tetszőleges sorrendben. Tegyük úgy, hogy a gomb megnyomására minden egyes bekezdés végére, amire kattintás történt, hozzáadódjon egy felkiáltójel. Oldjuk meg a feladatot Set segítségével.

Kezdjük neki. Először szerezzük meg elemeinket változókba:

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

Hozzunk létre egy új Set gyűjteményt:

let set = new Set;

Vegyük végig a bekezdéseket egy ciklussal és tegyünk rájuk kattintáskezelőt:

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

Mostantól kattintáskor a bekezdésre adjuk hozzá azt a gyűjteményhez:

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

Annak köszönhetően, hogy a Set gyűjteményt használjuk, egy bekezdés ismételt megkattintása nem fog azonos bekezdés hozzáadásához vezetni.

Mostantól a gombra kattintva vegyük végig a gyűjteményünk tartalmát és minden bekezdés végére adjunk hozzá egy felkiáltójelet:

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

Adottak bekezdések és egy gomb. A felhasználó kattint ezekre a bekezdésekre tetszőleges sorrendben. Tegye úgy, hogy a gomb megnyomásakor minden egyes bekezdés végére, amire kattintás történt, hozzáadódjon egy felkiáltójel.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás