Avatar billede t_madsen Nybegynder
02. juni 2006 - 18:43 Der er 7 kommentarer og
1 løsning

syntaks spm.

Hej,

Det her burde være nemt(?)

function test(parameter) {

document.getElementById('etElement').style.parameter = "foobar";

}

Jeg vil altså have et parameter efter .style. som f.eks. left, width eller noget helt tredje, men jeg fatter ikke hvordan man får sat et parameter ind der, i hvert fald virker ovenstående ikke for mig.
Avatar billede jensgram Nybegynder
02. juni 2006 - 18:58 #1
Hmm, hvis du giver "parameter" med som en streng skal du vel:

function test(parameter) {

document.getElementById('etElement').style = parameter + ": foobar;";

}


test("noget") -~-> etElement {noget: foobar;} - hvis du forstår.

Så går du ganske vist udenom objekterne, men det burde virke.
Avatar billede olebole Juniormester
02. juni 2006 - 19:01 #2
<ole>

style er et objekt på elementet. Derfor kan du i stedet for dot-notation anvende array-notaion:

function test(name, value) {
    document.getElementById('etElement').style[name] = value;
}

Læs evt. min artikel om arrays og objekter i JS - og ikke mindst deres slægtskab:
    http://www.eksperten.dk/artikler/227

/mvh
</bole>
Avatar billede jensgram Nybegynder
02. juni 2006 - 19:03 #3
Olebole > Ja, det er nok noget smartere, men det kunne jeg jo ikke vide ;)
Avatar billede olebole Juniormester
02. juni 2006 - 19:04 #4
- husk dog at anvende JS-versionen af style-property'en:

'backgroundColor' i stedet for 'background-color',
'zIndex' i stedet for 'z-index',
osv, osv

jensgram >> det er da bare fordi, du ikke læser mine artikler  ;D
Avatar billede jensgram Nybegynder
02. juni 2006 - 19:06 #5
Olebole > Jeg har faktisk læst de to andre med stor fornøjelse, men dén der er smuttet.
Avatar billede t_madsen Nybegynder
02. juni 2006 - 19:42 #6
tak for det, dejlige og hurtige svar :) Jeg endte op med at bruge oleboles måde
Avatar billede olebole Juniormester
02. juni 2006 - 19:52 #7
Fino ... jamen, så lægger jeg et svar  :)

- ikke, at det på nogen måder er fikst, men dette _kan_ faktisk lade sig gøre og er absolut valid kode:

    document["getElementById"]('etElement')["style"][name] = value;

Livet er et sjovt sted at opholde sig  ;o)
Avatar billede olebole Juniormester
02. juni 2006 - 20:17 #8
Tak for points  ;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