19. januar 2006 - 09:27
Der er
8 kommentarer og 1 løsning
fere div med samme id
target = document.getElementById('SNSCHIDDEN') target.style.visibility = "visible"; target.style.position = "relative"; Hvis jeg har to div med samme id så tager den kun den første. div id='SNSCHIDDEN' style="visibility=hidden"> div id='SNSCHIDDEN' style="visibility=hidden"> hvordan laver jeg så den tager og retter dem begge
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
19. januar 2006 - 10:17
#1
Du giver dem forskellige id'er. Det er ikke lovligt at benytte samme id 2 gange på samme side. Du kan f.eks. give dem fortløbende numre og så gennemløbe dem med en løkke: for(var i=0; i < 1; i++) { obj = document.getElementById('SNSCHIDDEN' + i); if(obj) { obj.style.visibility = "visible"; obj.style.position = "relative"; } } Hvis jeg har to div med samme id så tager den kun den første. <div id='SNSCHIDDEN0' style="visibility:hidden"> <div id='SNSCHIDDEN1' style="visibility:hidden">
19. januar 2006 - 10:26
#2
tja har brug for en mere dynamist løsning. antalleted af div kan variere
19. januar 2006 - 10:37
#3
Jamen, så må vi jo lave den mere dynamisk ;-) var arrDiv = document.getElementsByTagName("div"); for(var i=0; i < arrDiv.length; i++) { if(arrDiv[i].id.indexOf('SNSCHIDDEN') != -1) { obj.style.visibility = "visible"; obj.style.position = "relative"; } } Denne løsning kræver blot at der ikke er andre div-elementer der indeholder SNSCHIDDEN i id'et. Alternativt kan du checke om id'et starter med den påg. tekst ved at ændre kriteriet for indexOf sammenligningen: var arrDiv = document.getElementsByTagName("div"); for(var i=0; i < arrDiv.length; i++) { if(arrDiv[i].id.indexOf('SNSCHIDDEN') == 0) { obj.style.visibility = "visible"; obj.style.position = "relative"; } }
19. januar 2006 - 10:56
#4
obj. ikke difineret
19. januar 2006 - 11:17
#5
Ja ok, en smutter: var arrDiv = document.getElementsByTagName("div"); for(var i=0; i < arrDiv.length; i++) { if(arrDiv[i].id.indexOf('SNSCHIDDEN') != -1) { var obj = arrDiv[i]; obj.style.visibility = "visible"; obj.style.position = "relative"; } }
19. januar 2006 - 11:21
#6
smid bare et svar
19. januar 2006 - 11:25
#7
Kommer der :)
19. januar 2006 - 11:33
#8
Tak for point :)
19. januar 2006 - 16:20
#9
-- og en smart måde at lave det på, er at benytte sig af class-propertyen, da den sandsynligvis også vil kunne bruges til at style elementerne: div class='SNSCHIDDEN' style="visibility:hidden"> div class='SNSCHIDDEN' style="visibility:hidden"> var arrDiv = document.getElementsByTagName("div"); for(var i=0; i < arrDiv.length; i++) { if(arrDiv[i].className.match(/\bSNSCHIDDEN\b/)) { arrDiv[i].style.visibility = "visible"; arrDiv[i].style.position = "relative"; } }
Vi tilbyder markedets bedste kurser inden for webudvikling