⊗jsPmPrMEWShB 483 of 505 menu

Flere elementer med visningsknapper i JavaScript

La oss nå anta at vi har mange avsnitt og hvert av dem har sin egen knapp for skjuling:

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

La oss gjøre det slik at ved et klikk på knappen skjules eller vises det tilsvarende avsnittet.

For å gjøre dette må vi på en eller annen måte koble knappene til våre avsnitt. Det finnes flere måter å gjøre dette på.

Første metode

La oss koble knapper og avsnitt på følgende måte:

<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>

Nå, ved et klikk på en hvilken som helst knapp, vil vi lese innholdet i dens data-elem-attributt og søke etter et avsnitt med en slik id. Det er den vi vil toggle. La oss implementere det som er beskrevet:

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

Studer løsningen min, og løs deretter denne oppgaven på egen hånd, uten å se på koden min.

Andre metode

Det er ikke veldig praktisk å sette id og data-attributter. La oss gjøre det slik at koblingen skjer ved rekkefølgenummer: la den første knappen skjule det første avsnittet, den andre knappen - det andre, og så videre.

La oss implementere det som er beskrevet:

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

Studer løsningen min, og løs deretter denne oppgaven på egen hånd, uten å se på koden min.

Tredje metode

Som man kan se, er avsnittet knyttet til knappen dens venstre nabo. Dette kan brukes som en kobling:

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

Studer løsningen min, og løs deretter denne oppgaven på egen hånd, uten å se på koden min.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis