Horst Scheibenhofer: css attribut dynamisch ändern

Hallo!

Ist es möglich das css attribut mit js zu ändern?

zb:
[code language="HTML"]
<style .... >
  .myclass { ... }
  .myNewClass { ... }
</style>

<div id="myid" class="myclass">...</div>
[/code]
[code language="javascript"]
<script ..>
  document.getElementById("myid").class="myNewClass";
</script>
[/code]
So würde ich mir das vorstellen. Funktioniert aber leider nicht.
Einzelne style Attribute mit dem Style Objekt auszutauschen ist mir zu umständlich. Ich würde gerne das gesamte class Attribut austauschen.

Gibts da eine Möglichkeit?

mfg
Horst

  1. AAAAHHHHHH!!
    .className ist mein Freund!

    mfg
      Horst

  2. Hej,

    document.getElementById("myid").class="myNewClass";

      
    Wenn überhaupt [document.all.className](http://de.selfhtml.org/javascript/objekte/all.htm#class_name).  
    Ob das allerdings in allen browsern klappt, wage ich zu bezweifeln.  
    Daher würde ich mich mal an deiner Stelle mal mit [document.node.setAttribute()](http://de.selfhtml.org/javascript/objekte/node.htm#set_attribute)  
    auseinandersetzen.  
      
    Beste Grüße  
    Biesterfeld
    
    -- 
    "Wussten sie, dass die meisten Menschen mehr Beine haben als der Durchschnitt?"
    
    1. Hej,

      document.getElementById("myid").class="myNewClass";

      
      >   
      > Wenn überhaupt [document.all.className](http://de.selfhtml.org/javascript/objekte/all.htm#class_name).  
      > Ob das allerdings in allen browsern klappt, wage ich zu bezweifeln.  
      > Daher würde ich mich mal an deiner Stelle mal mit [document.node.setAttribute()](http://de.selfhtml.org/javascript/objekte/node.htm#set_attribute)  
      > auseinandersetzen.  
        
      Danke!  
      .className funktioniert zumindes bei meinem Mozilla, FF und IE unter Win)  
      In der SelfHMTL Doku ist bei .className ein "JS/MS" Icon, bei .setAttribute ein "JS 1.5" und ein "DOM 1.0" Icon. Leider finde ich nirgends die Bedeutung der Icons. Aber ich vermute mal, dass das .setAtribute wirklich weiter verbreitet ist. Dann werde ich das verwenden.  
        
      mfg  
       Horst
      
      1. hi,

        .className funktioniert zumindes bei meinem Mozilla, FF und IE unter Win)

        und auch im opera - AFAIK eigentlich in allen aktuellen , JS-fähigen browsern.

        In der SelfHMTL Doku ist bei .className ein "JS/MS" Icon, bei .setAttribute ein "JS 1.5" und ein "DOM 1.0" Icon. Leider finde ich nirgends die Bedeutung der Icons.

        die haben zum einen einen title, und zum anderen gibt es auch eine liste der in slfhtml verwendeten symbole

        Aber ich vermute mal, dass das .setAtribute wirklich weiter verbreitet ist. Dann werde ich das verwenden.

        nein, className ist für dein vorhaben OK.
        setAttribute macht darüber hinaus im IE oftmals probleme.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi,

          die haben zum einen einen title

          noch nicht - nur alt. Du gehst besuchst diese Seiten doch nicht etwa nur mit Deinem alten IE? ;-)

          freundliche Grüße
          Ingo

          1. hi,

            die haben zum einen einen title
            noch nicht - nur alt. Du gehst besuchst diese Seiten doch nicht etwa nur mit Deinem alten IE? ;-)

            doch, im moment schon - man muss nehmen, was man kriegen kann ...

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hej,

        .className funktioniert zumindes bei meinem Mozilla, FF und IE unter Win)

        Weil du dir aber das Allgemeine zu document.all durchgelesen hast, weißt du auch dass dies ursprünglich ein JScript Objekt ist, und damit Microsoft und nicht dem Standard gehört.

        In der SelfHMTL Doku ist bei .className ein "JS/MS" Icon, bei .setAttribute ein "JS 1.5" und ein "DOM 1.0" Icon.

        http://de.selfhtml.org/javascript/intro.htm

        Leider finde ich nirgends die Bedeutung der Icons.

        http://de.selfhtml.org/editorial/arbeitshinweise.htm

        Aber ich vermute mal, dass das .setAtribute wirklich weiter verbreitet ist. Dann werde ich das verwenden.

        Naja es entspricht dem DOM und ist damit in jedem Fall zukunftsträchtig. Aber wenn du Javascript verwendest solltest du sowieso mit Browserweichen arbeiten um die Vielzahl der Browser nicht auszuschließen.

        Beste Grüße
        Biesterfeld

        --
        Kommt ein Vektor zur Drogenberatung: "Hilfe, ich bin linear abhängig!"
  3. Hi,

    Einzelne style Attribute mit dem Style Objekt auszutauschen ist mir zu umständlich.

    Jetzt mal vom Umstand abgesehen, daß className das Gesuchte war:

    Um alle Styles einer Regel auf einen Schlag zu ändern, gibt es die Eigenschaft cssText.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. hi,

      Um alle Styles einer Regel auf einen Schlag zu ändern, gibt es die Eigenschaft cssText.

      browserübergreifend?

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hi,

        Um alle Styles einer Regel auf einen Schlag zu ändern, gibt es die Eigenschaft cssText.
        browserübergreifend?

        Nein "nur" Mozilla, IE, Konqueror, Safari, ?. Opera kennt diese Eigenschaft nicht. Aber Opera ist ja sowieso eine DHTML-Niete ... >:->

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!