Javascript - otsige elemente nende ID-de järgi

See näpunäide näitab, kuidas otsida elemente nende ID alusel. See on siis, kui viimane vastab regulaaravaldisele.

Probleem

Te teate juba getElementById (id) meetodit, mida kasutatakse konkreetse ID-ga seotud elemendi tagastamiseks (kuna ID on tingimata unikaalne) ja getElementsByTagName (tagName) meetod, mis tagastab massiivi, mis sisaldab kõiki mainitud sildiga elemente.

Noh on mõned juhtumid, kus need lahendused ei ole piisavad.

Näiteks: teie saidil on ruudud: kui kasutaja klõpsab nupul, muudab iga ruut suurust, millest igaühel on uus suurus. Seega peate nende haldamiseks olema nende ID-de loend. Saadaval on kaks lahendust:

Iga kord, kui lisate ruudu, suurendate käsitsi ID-de loendit käsitsi.

Sul on silmus, mis otsib dokumendist välja, et leida ruudud, seega sobib see meetod otse koodiga. Aga kuidas kõik ID-d alla laadida, teades, et te ei tea täpset ruutude arvu (mitte silmus) ja te ei tea, kus nad on lehel?

Lahendus

Me kasutame getElementByRegexId meetodit. Sellel meetodil on kaks parameetrit:

Regulaaravaldis, mis vastab ID-dele.

[Fac] Otsitava märgendi nimi. Kui midagi ei ole näidatud, võetakse arvesse kõiki silte.

Põhimõte on lihtne: me otsime getElementsByTagName'i poolt otsitud elementide kaudu, testime ID-sid ja midagi, mis vastab tavalisele väljendile, lisatakse tabelisse:

 funktsioon getElementsByRegexId (regexpParam, tagParam) {// Si aucun nom de balise n'est spécifié, cherche sur toutes les balises tagParam = (tagParam === undefined)? '*': tagParam; var elementsTable = uus Array (); jaoks (var i = 0; i 

Näide:

 var divCarres = getElementsByRegexId (/ _ carre. * /, "div"); var tousLesCarres = getElementsByRegexId (/ _ carre. * /); 

Eelmine Artikkel Järgmine Artikkel

Top Näpunäited