17. oktober 2005 - 22:27
Der er
11 kommentarer og 1 løsning
Ændre på ALLE bokse med det id
Hvis jeg bruger: document.getElementById('minBoks').style.display = 'none'; Så retter den kun på 1. Hvad nu hvis jeg har flere der skal ændres på? Hvordan gør jeg så?
Annonceindlæg fra Novataris
Vejen til devops med Bavarian Nordic
Bavarian Nordics vækst blev starten på et DevOps-samarbejde med Novataris for hurtigt at kunne tilpasse IT-organisation til forretningen.
7. december 2023
17. oktober 2005 - 22:34
#1
et id er unikt - altså er der kun ét element, der kan have et givent id. du skal hive dem på tagname getElementsByTagName("element")... og så evt. skille yderligere ud ved at tage en bestemt klasse... men id kan kun bruges, når du vil hente ét element... - Mailand
17. oktober 2005 - 22:37
#2
Hvordan ændrer jeg så på boksene udfra class?
17. oktober 2005 - 22:43
#3
forudsat alle elementerne er af samme type - fx. <div> aEl = document.getElementsByTagName("div"); for(var i = 0; i<aEl.length; i++){ if(aEl[i].indexOf("classname") != -1){ aEl[i].style.display = 'none'; } } hvis de ikke er af samme type, kan du ændre til: aEl = document.getElementsByTagName("*"); - Mailand
17. oktober 2005 - 22:43
#4
Du kan give dem den samme værdi i name-attributten, og så gennemløbe alle elementer med det name. Nogenlunde som mailand beskriver kan du fange alle elementer med det givne navn, du skal blot bruge var minBoks = document.getElementsByName("minBoks"); og så en løkke som løber dem igennem: for(var i = 0; i < minBoks.length; i++) { minBoks[i].style.display = 'none'; }
17. oktober 2005 - 22:44
#5
hov: if(aEl[i].className.indexOf("classname") != -1){
17. oktober 2005 - 22:47
#6
<ole> softspot >> kun på de ganske få elementer, hvor name-attributten er valid ;o) /mvh </bole>
17. oktober 2005 - 22:51
#7
Jeps! Det har jeg lige fundet ud af... såeh bare glem jeg var med i denne tråd!!! :D
17. oktober 2005 - 23:14
#8
smid svar mailand
17. oktober 2005 - 23:15
#9
er der forresten noget alá name, som er valid? for class er ikke helt det optimale.
17. oktober 2005 - 23:26
#10
Du kan bare give dine elementer et lign id, f.eks. med et forløbende nummer... <div id="minBoks1">...</div> <div id="minBoks2">...</div> <div id="minBoks3">...</div> <div id="minBoks4">...</div> og så gennemløbe dem som beskrevet ovenfor, blot ved at du checker på de første 7 tegn i id e = document.getElementsByTagName("div"); for(var i = 0; i<e.length; i++){ if(e[i].getAttribute("id").substr(0,7) == "minBoks"){ e[i].style.display = 'none'; } }
17. oktober 2005 - 23:39
#11
Hvorfor er class ikke optimalt? Du må gerne bruge flere classNames på samme element, hvorfor det netop er smart, at mailand skriver: if (aEl[i].className.indexOf("classname") != -1) { - og ikke: if (aEl[i].className == "classname") { Du kan f.eks. skrive: <div class="minCssKlasse_A minJsKlasse_A">blabla</div> <div class="minCssKlasse_B minJsKlasse_A">blabla</div> <div class="minCssKlasse_A minJsKlasse_C">blabla</div> <div class="minCssKlasse_A minCssKlasse_B minJsKlasse_A">blabla</div>
19. oktober 2005 - 00:54
#12
et svar :)
Vi tilbyder markedets bedste kurser inden for webudvikling