Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jsPmPrMEWShB 483 of 505 menu
◀ ▶

De nombreux éléments avec des boutons d'affichage en JavaScript

Supposons maintenant que nous ayons de nombreux paragraphes et que chacun ait son propre bouton pour masquer :

<p>1</p><button>toggle</button> <p>2</p><button>toggle</button> <p>3</p><button>toggle</button>

Faisons en sorte qu'un clic sur le bouton masque ou affiche le paragraphe correspondant.

Pour cela, nous devons d'une manière ou d'une autre relier les boutons à nos paragraphes. Il existe plusieurs méthodes pour cela.

Première méthode

Relions les boutons et les paragraphes de la manière suivante :

<p id="elem1">1</p><button data-elem="elem1">toggle</button> <p id="elem2">2</p><button data-elem="elem2">toggle</button> <p id="elem3">3</p><button data-elem="elem3">toggle</button>

Maintenant, lors d'un clic sur n'importe quel bouton, nous lirons le contenu de son attribut data-elem et chercherons le paragraphe avec cet id. C'est celui-là que nous basculerons. Implémentons ce qui est décrit :

let buttons = document.querySelectorAll('button'); for (let button of buttons) { button.addEventListener('click', function() { let elem = document.querySelector('#' + this.dataset.elem); elem.classList.toggle('hidden'); }); }

Étudiez ma solution, puis résolvez ce problème par vous-même, sans regarder mon code.

Deuxième méthode

Il n'est pas très pratique d'attribuer des id et des data-attributs. Faisons en sorte que le lien soit établi par l'ordre : que le premier bouton masque le premier paragraphe, le deuxième bouton - le deuxième, et ainsi de suite.

Implémentons ce qui est décrit :

let buttons = document.querySelectorAll('button'); let elems = document.querySelectorAll('p'); for (let i = 0; i < buttons.length; i++) { buttons[i].addEventListener('click', function() { elems[i].classList.toggle('hidden'); }); }

Étudiez ma solution, puis résolvez ce problème par vous-même, sans regarder mon code.

Troisième méthode

Comme on peut le voir, le paragraphe associé au bouton est son voisin de gauche. On peut utiliser cela comme un lien :

let buttons = document.querySelectorAll('button'); for (let button of buttons) { button.addEventListener('click', function() { this.previousElementSibling.classList.toggle('hidden'); }); }

Étudiez ma solution, puis résolvez ce problème par vous-même, sans regarder mon code.

← →
↑
Français▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser