Avatar billede learner Praktikant
04. oktober 2004 - 16:16 Der er 8 kommentarer og
1 løsning

Hvad gør jeg forkert?

Jeg får fejl i disse linier! Kan du se fejlen??? Er det fordi jeg bruger class?

Jeg forsøger at få den til at gøre felter med navnet 'wheretosell' røde og jeg har en class som hedder 'onlyred', som jeg plejer at bruge...

var ObjToMakeRed = document.getElementById('wheretosell');
ObjToMakeRed.class="onlyred";

Hjæælp :o)
Avatar billede roenving Novice
04. oktober 2004 - 16:22 #1
-- der er ikke nogen property på elementer, som hedder class, den hedder className ...

-- så skriver du at du forsøger at få fat i feltER med id="wheretosell" hvilket ikke kan lade sig gøre, da et id skal være unikt !-)

-- og så er det absolut ikke tilrådeligt at skifte className on-the-fly, da browseren så smider hele sit css-DOM-træ ud og starter forfra med at opbygge det brugeren skal se ...
Avatar billede learner Praktikant
04. oktober 2004 - 16:27 #2
ok, vil det sige jeg frarådes at benytte denne metode til at gøre et felt rødt med når brugeren ikke her udfyldt det korrekt?

Virker det ik hvis jeg kun har et felt med det ID og benytter className istedet?
Avatar billede learner Praktikant
04. oktober 2004 - 16:30 #3
virker det her ik ok? jeg giver felterne hvert sit id...

var ObjToMakeRed = document.getElementById('getred1');
ObjToMakeRed.className ="onlyred";
var ObjToMakeRed = document.getElementById('getred2');
ObjToMakeRed.className ="onlyred";
var ObjToMakeRed = document.getElementById('getred3');
ObjToMakeRed.className ="onlyred";
Avatar billede roenving Novice
04. oktober 2004 - 16:36 #4
Det vil virke, men hvis du har bare en lidt kompliceret struktur med nogle ting nestet ind i hinanden, vil du kunne opleve ventetider på genopbygningen af DOM-træet, som jo ikke, som ved load, opfattes som naturlig, derfor anbefales det i stedet at ændre de enkelt-properties, som skal ændres:

function makeRed(){
  var args = makeRed.arguments,obj;
  for(i=0;args.length>i;i++){
    obj = document.getElementById(args[i]);
    obj.style.backgroundColor = "red";
    obj.style.borderColor = "black";
  }
}

-- og f.eks. kaldes med:

makeRed('getred1','getred2','getred3');
Avatar billede learner Praktikant
04. oktober 2004 - 16:41 #5
okidoki, det tror jeg jeg vil prøve istedet, mange tak for det roenving :o)
Avatar billede roenving Novice
04. oktober 2004 - 16:48 #6
Velbekomme '-)
Avatar billede learner Praktikant
04. oktober 2004 - 16:48 #7
kan jeg godt skrive :

obj.style.fontColor = "red";
Avatar billede roenving Novice
04. oktober 2004 - 16:55 #8
Det hedder bare color !-)

obj.style.color = "red";

-- og tak for point ;~}
Avatar billede learner Praktikant
04. oktober 2004 - 16:58 #9
selvtak og god dag! :O)
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