⊗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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부