Avatar billede o-zone Nybegynder
06. februar 2006 - 13:17 Der er 2 kommentarer og
1 løsning

hvordan tester jeg på om getElementById(xxx) findes?

Hej med jer...

Jeg har en html-side med et vilkårligt antal <div id="helptextXX"> hvor XX erstattes af et fortløbende nummer startende fra 1

Jeg vil gerne have en metode som sætter style="display:none" på dem alle. Jeg ved ikke på forhånd hvor mange der er, da de hentes fra en database.

Kan en af jer greje en løkke a la:
---8<----------
var i=0;
while(eval("document.getElementById('helptext"+(i)+"')")){
  eval("document.getElementById('helptext"+(i++)+"')").style.display="none";
}
---8<----------

...eller noget i den stil? Altså en metode der løber alle teksterne igennem, og sætter deres display UDEN at vide på forhånd hvor mange der er?

Hvis det er til nogen hjælp, så er de alle class="helptext" ... men meningen er at jeg "slukker" dem alle, for derefter at "tænde" den ene af dem der skal være aktiv (og hvilken en det er skal også være dynamisk!)

På forhånd tak
/o-zone
Avatar billede o-zone Nybegynder
06. februar 2006 - 13:51 #1
hmmm ... da jeg skrev koden ovenfor var det ud af hovedet som jeg forestillede mig at det kunne se ud ... jeg havde ikke regnet med at jeg var så tæt på løsningen :-S

her:
---8<----------
    function closeAll(){
        var i=1;
        while(eval("document.getElementById('helptext"+i+"')")){
            eval("document.getElementById('helptext"+i+"').style.display='none';");
            i++;
        }
    }
---8<----------

...og undskyld ulejligheden så ... jeg gafler vist bare mine points til mig igen! ;-)
Avatar billede olebole Juniormester
07. februar 2006 - 02:05 #2
<ole>

eval er en af JavaScripts langsomste funktioner - og i denne forbindelse ganske overflødig:

function closeAll(){
    var i=1;
    while(document.getElementById("helptext"+i)){
        document.getElementById("helptext"+i).style.display="none";
        i++;
    }
}

/mvh
</bole>
Avatar billede o-zone Nybegynder
02. marts 2006 - 00:34 #3
Olebole: Du har sørendansemig ret!

Jeg ved ikke hvor jeg har fået den sære ide, at jeg ikke måtte bygge min egen streng op i getElementById - men du har hermed fået mig til at skille mig af med en dårlig vane! (one down 999 to go ;-) )

Takker :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester