lol1337: CSS einer Klasse während Laufzeit ändern

Moin,
ich habe vor, CSS Daten mehrerer Objekte, die alle einer Klasse angehören zu ändern. Bei IDs ist das ja einfach, einfach
document.getElementById("idname").style.Eigenschaft = WERT;

Nun gibt es ja auch sowas wie document.getElementdByClassName, Nur hier muss ich dann ja allerdings erst jedes Objekt einzeln durchgehen und da die css Eigenschaft ändern.
Geht dies irgendwie einfacher? Ich will zB die Höhe jeder Klasse "Apfelkuchen" von 100 (Standart im CSS) auf 10 setzen. Wie gehe ich dann am effizientesten vor?

Danke schonmal :)

  1. Moinsen!

    ich habe vor, CSS Daten mehrerer Objekte, die alle einer Klasse angehören zu ändern. Bei IDs ist das ja einfach, einfach
    document.getElementById("idname").style.Eigenschaft = WERT;

    Nun gibt es ja auch sowas wie document.getElementdByClassName, Nur hier muss ich dann ja allerdings erst jedes Objekt einzeln durchgehen und da die css Eigenschaft ändern.

    Ja. Ne ID gibts ja auch nur einmal. Es wird also auch immer nur ein Objekt zurueckgegeben. Klassen koennen zumindest mehrfach auftauchen, also bekommt man immer ein Array von Objekten. Selbst, wenn nur eines drin ist.

    Geht dies irgendwie einfacher? Ich will zB die Höhe jeder Klasse "Apfelkuchen" von 100 (Standart im CSS) auf 10 setzen. Wie gehe ich dann am effizientesten vor?

    Was ist denn an einer simplen Schleife das Problem?

    Ansonsten wuesste ich nicht, dass man eine CSS Klasse mit JS bearbeiten kann. Du kannst allerdings uebers DOM einen CSS Bereich mit neuer Klasse anlegen. Muesste funktionieren.

    Ich sehe allerdings grad nciht, warum man wild rumprogrammieren will, wenn man sein Problem mit einer Schleife (also 2 Zeilen mehr Code als bei ner ID) loesen kann.

    --
    Signaturen sind blöd!
    1. Ich dachte nur, dass es evtl. eine schönere Methode gibt, als eine Schleife einzubauen. Warum jeden Stein einer Wand einzeln anstreichen, wenn man nicht auch gleich die ganze Wand bepinseln kann ;)
      Ansonsten danke für deine Antwort.

  2. Hi,

    gib dem body- oder html-Element eine zusätzliche Klasse.
    Wenn diese Klasse gesetzt ist, ändere entsprechend die Styles deiner anderen Elemente.

    Beispiel:

    <!DOCTYPE html>  
    <title></title>  
    <style>  
    [code lang=css].foo {  
      background: orange;  
    }  
    .bar .foo {  
      background: blue;  
    }
    

    </style>
    <p class="foo">Lorem ipsum dolor sit amet, consetetur sadipscing elitr
    <p class="foo">Lorem ipsum dolor sit amet, consetetur sadipscing elitr
    <p class="foo">Lorem ipsum dolor sit amet, consetetur sadipscing elitr
    <script>

    window.setTimeout(function () {  
      document.body.className += 'bar';  
    }, 1000);
    

    </script>[/code]

    Sobald das body-Element die Klasse "bar" bekommt, bekommen alle Elemente mit der Klasse "foo" eine andere Hintergrundfarbe.

    ~dave

    1. Hi,
      danke für die Antwort, die Idee ist soweit gut, allerdings soll die Höhe erst noch errechnet werden ;) Trotzdem danke...

      1. @@lol1337:

        nuqneH

        allerdings soll die Höhe erst noch errechnet werden

        ?? Ich denke, du willst „die Höhe jeder Klasse "Apfelkuchen" von 100 (Standart im CSS) auf 10 setzen“?

        Mir schwant, du möchtest Transitions einsetzen.

        Qapla'

        --
        Wer möchte nicht lieber durch Glück dümmer als durch Schaden klüger werden? (Salvador Dalí)
        1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

          ?? Ich denke, du willst „die Höhe jeder Klasse "Apfelkuchen" von 100 (Standart im CSS) auf 10 setzen“?

          Zuviel Русский Стандарт Водка im Gagh? ;-)

          Matthias

          --
          1/z ist kein Blatt Papier.

          1. @@Matthias Apsel:

            nuqneH

            Zuviel Русский Стандарт Водка im Gagh? ;-)

            Jetzt weiß ich, wo die Schreibweise „Standart“ herkommt.

            Und dieses niederprozentige menschliche Gesöff kommt nicht auf den Tisch. Wir trinken Blutwein. Oder romulanisches Ale.

            Qapla'

            --
            Wer möchte nicht lieber durch Glück dümmer als durch Schaden klüger werden? (Salvador Dalí)
            1. Hallo,

              Zuviel Русский Стандарт Водка im Gagh? ;-)
              Jetzt weiß ich, wo die Schreibweise „Standart“ herkommt.

              erst jetzt? ;-)

              Und dieses niederprozentige menschliche Gesöff kommt nicht auf den Tisch. Wir trinken Blutwein. Oder romulanisches Ale.

              Oder Pan Galactic Gargle Blaster?

              Skål!
               Martin

              --
              Fische, die bellen, beißen nicht.
              Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            2. Om nah hoo pez nyeetz, Gunnar Bittersmann!

              Zuviel Русский Стандарт Водка im Gagh? ;-)

              Jetzt weiß ich, wo die Schreibweise „Standart“ herkommt.

              Deine vulkanischen Gene hast du wohl endgültig abgelegt oder wie kommt dir diese Unwahrheit über die Tastatur? ;-)

              Matthias

              --
              1/z ist kein Blatt Papier.

            3. Hallo,

              Und dieses niederprozentige menschliche Gesöff kommt nicht auf den Tisch. Wir trinken Blutwein. Oder romulanisches Ale.

              Pflaumensaft ist ein Getränk für Krieger!

              Qapla'
              ichbinich

              --
              Kleiner Tipp:
              Tofu schmeckt am besten, wenn man es kurz vor dem Servieren durch ein saftiges Steak ersetzt...