⊗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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否