⊗jsSpStGWD 43 of 294 menu

Obtendo elementos DOM sem duplicatas

Suponha que temos parágrafos e um botão:

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

Suponha que o usuário clique nesses parágrafos em uma ordem arbitrária. Vamos fazer com que, ao clicar no botão, no final de cada parágrafo que foi clicado, seja adicionado um ponto de exclamação. Vamos resolver o problema usando Set.

Vamos começar. Primeiro, vamos obter nossos elementos em variáveis:

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

Vamos criar uma nova coleção Set:

let set = new Set;

Vamos percorrer os parágrafos com um loop e atribuir a eles um manipulador de clique:

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

Agora, ao clicar em um parágrafo, vamos adicionar esse parágrafo à coleção:

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

Por estarmos usando a coleção Set, um clique repetido no parágrafo não levará à adição de uma duplicata do parágrafo.

Agora, ao clicar no botão, vamos percorrer o conteúdo da nossa coleção e adicionar um ponto de exclamação ao final de cada parágrafo:

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

Fornecidos parágrafos e um botão. O usuário clica nesses parágrafos em uma ordem arbitrária. Faça com que, ao clicar no botão, no final de cada parágrafo que foi clicado, seja adicionado um ponto de exclamação.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar