„Javascript“ - ieškokite elementų pagal jų ID

Šis patarimas parodys, kaip ieškoti elementų pagal jų ID. Tai yra tada, kai pastarasis atitinka įprastą išraišką.

Problema

Jau žinote „getElementById“ (id) metodą, naudojamą grąžinti elementą, susijusį su konkrečiu ID (nes ID būtinai yra unikalus) ir getElementsByTagName (žymės pavadinimo) metodą, kuris grąžina masyvą, kuriame yra visi elementai su minėta žyma.

Na yra keletas atvejų, kai šių sprendimų nepakanka.

Pavyzdžiui: svetainėje yra kvadratų: kai vartotojas spusteli mygtuką, kiekvienas kvadratas keičia dydį, kiekvienas turi naują savo dydį. Taigi turėsite turėti savo ID sąrašą, kad juos valdytumėte. Galimi du sprendimai:

Kiekvieną kartą pridedant kvadratą, rankiniu būdu padidinsite ID sąrašą.

Turite kilpą, ieškantį dokumento, kad rastumėte kvadratus, taigi metodas tiesiogiai atitinka kodą. Bet kaip gauti visus ID, žinant, kad jūs nežinote tikslaus kvadratų skaičiaus (ne kilpos) ir jūs nežinote, kur jie yra puslapyje?

Sprendimas

Naudosime getElementByRegexId metodą. Šis metodas turi du parametrus:

Įprastinė išraiška, atitinkanti ID.

[Fac] Žymos, kurią norite ieškoti, pavadinimas. Jei nieko nenurodyta, atsižvelgiama į visas žymes.

Šis principas paprastas: mes ieškome elementų, kuriuos gauna getElementsByTagName, išbandome ID ir viską, kas atitinka įprastą išraišką, įtraukiama į lentelę:

 funkcija getElementsByRegexId (regexpParam, tagParam) {// Si aucun nom de balise n'est spécifié, cherche sur toutes les balises tagParam = (tagParam === undefined)? „*“: tagParam; var elementsTable = naujas Array (); už (var i = 0; i 

Pavyzdys:

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

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai