⊗jsSpStGWD 43 of 294 menu

Дубликатсыз DOM элементтердин алуусу

Бизде абзацтар жана баскыч бар деп коёлу:

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

Колдонуучу бул абзацтарга ыктыярдуу тартипте чыкылдатышы мүмкүн. Баскычты басканда, ар бир чыкылдатылган абзацтын аягына үн сүрөөчү белги кошулсун кылалы. Маселени Set аркылуу чечейли.

Баштайлы. Адегенде биздин элементтерибизди өзгөрмөлөргө алалы:

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

Жаңы Set коллекциясын түзөлү:

let set = new Set;

Абзацтарды цикл менен айланып өтүп, аларга чыкылдатуу иштеткичтерин коёлу:

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

Эми абзацты чыкылдатканда, аны коллекцияга кошолу:

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

Set коллекциясын колдонгондуктан абзацты кайра чыкылдатуу ага дубликат кошумчалоого алып келбейт.

Эми баскычты чыкылдатканда, биздин коллекциянын ичиндегилерди айланып өтүп, ар бир абзацтын аягына үн сүрөөчү белги кошолу:

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

Абзацтар жана баскыч берилген. Колдонуучу бул абзацтарга ыктыярдуу тартипте чыкылдатат. Баскычты басканда, ар бир чыкылдатылган абзацтын аягына үн сүрөөчү белги кошулсун кыл.

Кыргызча
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу