⊗jsPmPrMEWShB 483 of 505 menu

Baie Elemente met Knoppe om te Wys in JavaScript

Laat ons nou baie paragrawe hê, en elkeen het sy eie knoppie om te versteek:

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

Laat ons dit so maak dat wanneer op 'n knoppie geklik word, die ooreenstemmende paragraaf versteek of gewys word.

Om dit te doen, moet ons op een of ander manier die knoppies met ons paragrawe verbind. Daar is verskeie maniere om dit te doen.

Eerste Metode

Laat ons die knoppies en paragrawe soos volg verbind:

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

Nou, wanneer op enige knoppie geklik word, sal ons die inhoud van sy data-elem kenmerk lees en die paragraaf met daardie id soek. Dit is wat ons sal wissel. Laat ons die beskrywing implementeer:

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'); }); }

Bestudeer my oplossing, en los dan hierdie probleem self op, sonder om na my kode te kyk.

Tweede Metode

Dit is nie baie gerieflik om id's en data-kenmerke te plaas nie. Kom ons maak dit so dat die verbinding volgens volgnommer is: laat die eerste knoppie die eerste paragraaf versteek, die tweede knoppie - die tweede, ensovoorts.

Laat ons die beskrywing implementeer:

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'); }); }

Bestudeer my oplossing, en los dan hierdie probleem self op, sonder om na my kode te kyk.

Derde Metode

Soos gesien kan word, is die paragraaf wat met die knoppie verbind is, die linkerbuurman daarvan. Dit kan gebruik word as 'n verbinding:

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

Bestudeer my oplossing, en los dan hierdie probleem self op, sonder om na my kode te kyk.

Afrikaans
Azə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
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp