Avatar billede jens_k Nybegynder
20. juli 2003 - 18:04 Der er 4 kommentarer og
1 løsning

Dynamisk variabel

Hej

Jeg har et problem med et meget simpelt JavaScript.

Hvis jeg skriver sådan her i min funktion :

  for (var i=0; i<test.length; i++) {
    test[i].style.display = "block";
  }

SÅ virker den fint. Den får nogle variabler med over i funktionen.

Men nu har jeg skrevet "test" statisk ind i koden, men alle de elementer den skal skifte style på, er udskrevet dynamisk, derfor kan jeg ikke skrive "test" statisk ind længere. Hvis jeg skriver dette, så virker det ikke :

  for (var y=0; y<(iProject+'-1').length; y++) {
    iProject+'-1'[y].style.display = "block";
  }

Hvordan får jeg lavet selve element id´et dynamisk ?

Jens K
Avatar billede roenving Novice
20. juli 2003 - 18:09 #1
eval(iProject+'-1'[y].style).display = "block";

Skulle få det til at blive et objekt ...

-- men du har også problemet i løkke-erklæringen, så hvorfor ikke:

  var obj = eval(iProject+'-1');
  for (var y=0; y<obj.length; y++) {
    obj[y].style.display = "block";
  }
Avatar billede Slettet bruger
21. juli 2003 - 12:30 #2
Det er ikke så hensigtsmæssigt med eval. Brug dette i stedet (også mere korrekt, virker ikke kun i IE):

var obj = document.getElementById(iProject + "-1");
for (var y = 0; y < obj.length; y++) {
  obj[y].style.display = "block";
}

Det ser ud til, at du har flere elementer med samme id. Dette er forbudt iflg. standarderne.
Avatar billede roenving Novice
21. juli 2003 - 12:57 #3
>>phoenixv

-- også her !-)

Ville vente på en reaktion før jeg kommenterede på documant.all-metoder ...

-- og jeg havde ikke tænkt i, at .all-metoderne faktisk tager fat i id ,-)
Avatar billede jens_k Nybegynder
10. juni 2004 - 03:34 #4
phoenixv laver du lige et svar ?
Avatar billede Slettet bruger
10. juni 2004 - 15:12 #5
Svar
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