Avatar billede kernelx Juniormester
23. juni 2004 - 08:01 Der er 5 kommentarer og
1 løsning

aendre en CSS-class med Javascript/DOM

Hi,

jeg har en css-fil:
style.css
----------------------------
td
{
    color: #000000;
    background-color: #ff0000;
}

td.test1
{
    color: #ffffff;
    background-color: #ff0000;
}

td.test2
{
    color: #00ff00;
    background-color: orange;
}
------------------------

saa en javascript-fil:
javascript.js
-----------------------
function changeCssClass ()
{
    /*
        i denne stil aendrer jeg en text-color,
        en background-color, osv.
 
        document.getElementById('id1').style.color="#0000ff";

        men hvad skal jeg lave for at faa 'id1' til at skifte en
        hel class???
    */
}
-----------------------

og saa har jeg en html-fil:
test.html
------------------------
<html>
  <head>
    <title>test</title>
    <link rel="stylesheet" href="style.css" type="text/css">
    <script src="javascript.js" type="text/javascript"></script>
  </head>
  <body>
    <table>
      <tr>
        <td id="id1" class="test1" onMouseOver="java script:changeCssClass();">
          test-tekst
        </td>
      </tr>
    </table>
  </body>
</html>
--------------------------

det jeg nu gerne vil have aendret er javascript-filen saadan,
at den med en kommando aendrer 'id1' fra css-class 'test1' til css-class 'test2'

er der nogen som ved, hvordan det kan lade sig goere?


med venlig hilsen
KernelX
Avatar billede notes2c Nybegynder
23. juni 2004 - 09:08 #1
Du bør kunne bruge: document.getElementById('id1').className="test2"
Avatar billede kernelx Juniormester
23. juni 2004 - 11:50 #2
mange tak!!!
Avatar billede notes2c Nybegynder
23. juni 2004 - 12:16 #3
selv tak !
Avatar billede skovenborg Nybegynder
23. juni 2004 - 18:12 #4
læg mærke til at det ikke altid er lige godt at skifte class on-the-fly, da browseren skal genindlæse sin DOM-struktur - hvilket kræver reload. Det plejer at virke ved mindre sider, men kan give problemmer hvis siden er mere kompliceret.
Avatar billede notes2c Nybegynder
24. juni 2004 - 08:50 #5
skovenborg >> Mener du reload af hele siden eller hvad. Kunne du ikke uddybe det lidt nærmere. Og hvordan konstatere man at dom-strukturen er genindlæst.
Avatar billede skovenborg Nybegynder
24. juni 2004 - 18:40 #6
prøv at kigge på roenvings kommentar her:
http://www.eksperten.dk/spm/513353
Det er også ham som har fortalt det til mig. Det er faktisk ikke engang sikkert at siden behøver at være særlig stor før større ændringer i strukturen får browseren til at bygge det hele om, som roenving skriver. Håber det giver en bedre forklaring end min forrige.
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