30. juni 2004 - 21:25Der er
11 kommentarer og 1 løsning
brugen af ID er validere ikke min kode
Hejsa, jeg har et problem ift. brugen af ID er. Jeg har nu læst mig frem til at et ID kun må være et sted på en side og det et problem for mig, da jeg har brug for at sjule en masse selectbokse ind i mellem. Da alle selectboksene kommer fra forskellige steder er det ikke muligt at bruge navnet (da stedet måske selv anvender dette til noget andet).
Den kode jeg bruger til at vise/skjule mine selects med er: sels = document.getElementsByTagName('SELECT'); for(i=0;sels.length>i;i++){ if(sels[i].id == 'tdg3')sels[i].style.visibility='hidden';
hmm name kan ikke bruges da jeg ikke ved hvor mange elementer der er, og da deres navne ikke altid er kendte. Hvis jeg skulle bruge name skal jeg jo ind og lave en lang liste af de navne som der anvendes - og det skal nok gå i fisk, når den skal opdateres og hvis nogen glemmer at fortælle at de ændre navn på en select.
Problemet er stort set det samme med elementløsningen..
Jeg ved godt at en side bør validere, men er der nogen der ikke vil få vist en side korrekt, hvis 2 elementer har det samme navn? (udseende & funktionalitet)?
Hvis det du laver er noget, der skal bruges til noget i virkeligheden, ville jeg ikke satse på at alle nuværende og fremtidige browsere vil acceptere din lille "lovovertrædelse".
Jeg ville løse det ved at give ID-erne forskellige navne, men sådan at alle samhørende ID-er starter med det samme: tdg3_1, tdg3_nogetandet, tdg3_thailand.
hvis du gør ligesom erik skriver så kunne du teste det på denne måde fx: for(i=0;sels.length>i;i++){ if(sels[i].id.indexOf('tdg3') != -1)sels[i].style.visibility='hidden'; eller if(sels[i].id.indexOf('tdg3') == 0)sels[i].style.visibility='hidden';
eller for den sags skyld med navnet, hvis det fx starter med det samme: if(sels[i].name.indexOf('tdg3') == 0)sels[i].style.visibility='hidden';
hmm det der med at lade id'et starte med det samme og så teste på det havde jeg ikke tænkt på - det er nok klart den bedste løsning, så den napper jeg :-)
hmm det har du ret i, men det står mig ikke lige klart hvordan man får den til det... såå
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.