Avatar billede mbw Nybegynder
13. august 2003 - 21:11 Der er 8 kommentarer og
1 løsning

fuld style deklaration på en linie?

Er det ikke muligt at sætte hele style daklerationen på en enkelt linie, noget lignenede:
  element.style = 'background: #fff; color: #000 osv...'
Jeg har lige nu ca 20 linier ed deklarationer, noget lignende:
  element.style.background = '#fff'
  element.style.color = '#000'
  osv....
Og det er lidt besværligt at finde rundt i... Ville helst undgå det....
Avatar billede erikjacobsen Ekspert
13. august 2003 - 21:15 #1
Du kan lave din egen funktion

  function setStyle(background,color) { ... }
Avatar billede erikjacobsen Ekspert
13. august 2003 - 21:16 #2
Måske du skulle tage elememtet med :)

  function setStyle(element,background,color) { ... }
Avatar billede bearhugx Nybegynder
13. august 2003 - 21:20 #3
du kan (så vidt jeg husker) også bruge cssText

altså elem.style.cssText = ....

<html>
    <body>
        <a onClick="this.style.cssText='border:3px solid red; background-color: #9d9;';" style="border:1px solid black; background-color:#ffd; padding:2px;"> klik mig </a>
    </body>
</html>
Avatar billede bearhugx Nybegynder
13. august 2003 - 21:22 #4
men teksten, som du sætter cssText til skal så være css og ikke javascripts ækvivelant(sp?) ...

altså
  "background-color : #fff;"
og ikke
  "backgroundColor : #fff;"
Avatar billede mm12010 Nybegynder
13. august 2003 - 23:28 #5
function swap(tr, col){
    tr.style.backgroundColor = col;
    }
-------------------------------
<tr onMouseOver="swap(this,'#cccccc')" onMouseOut="swap(this,'#ffffff')">
  <td>blah blah</td>
</tr>
Avatar billede bearhugx Nybegynder
14. august 2003 - 00:30 #6
hmmm mm12010 >>hvad skulle det gøre godt for... der ændrer du jo kun én property...
burin har ca 20, og han har jo nævnt, at han ikke gider at sætte alle  enkeltvis (altså 20 statements)....

så vidt jeg husker er der kun to måder at gøre det på, hvor det samles i et statement .... 
1) tildel ny class med elem.style.className
2) tildel ny styledeklaration med elem.style.cssText
Avatar billede mm12010 Nybegynder
14. august 2003 - 07:58 #7
for at illustrere hvordan hvordan man kan lægge det i en funktion, så kan han selv tilpasse den med det antal properties han vil
Avatar billede roenving Novice
14. august 2003 - 09:18 #8
>>burin

Jo !-)

Du må gerne sætte dine deklarationer sammen på een linje ...

-- det er blot sværere at holde styr på, så jeg vil da anbefale, at du beholder de mange linjer, men lægger det som et eksternt stylesheet, så det ikke fylder op i dit html-dokument ...

Husk, at der _ikk_ må være tags (<style></style>) i et eksternt stylesheet !o]

<link rel="stylesheet" type="text/css" href="style.css">
Avatar billede mbw Nybegynder
14. august 2003 - 22:43 #9
Bearhug -> cssText var præcis hvad jeg ledte efter... Tak!
roenving -> fatter ikke rigtig dit svar...
erikjacobsen -> det var en mulighed men det ville stadigvæk efterlade mig med al for mange linier...
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