JavasScript: document.getElementsByClassName()[]

Hallo, ich hätte eine Frage zu der oben genannten Funktion:

document.getElementsByClassName("klassenname")[].style.marginLeft = "100px";

Was muss ich in die eckige Klammer schreiben, um alle in der Klassennamen gespeicherten Attribute zu ändern? Oder muss ich das mit der for Bedingung machen, damit er alle hintereinander durchläuft?

  1. Hallo,

    document.getElementsByClassName("klassenname")[].style.marginLeft = "100px";

    Was muss ich in die eckige Klammer schreiben, um alle in der Klassennamen gespeicherten Attribute zu ändern?

    Du meinst vermutlich alle Elemente mit der Klasse, alle Elemente in der von getElementsByClassName zurückgegebenen Liste.

    Oder muss ich das mit der for Bedingung machen, damit er alle hintereinander durchläuft?

    Mit einer for-Schleife, ja.
    Warst du mit den Antworten, die wir dir vor drei Wochen auf dieselbe Frage gegeben haben, nicht zufrieden?

    http://forum.de.selfhtml.org/archiv/2011/9/t206860/
    http://forum.de.selfhtml.org/archiv/2011/9/t206860/#m1405080

    Grüße,
    Mathias

  2. Moin Moin!

    Hallo, ich hätte eine Frage zu der oben genannten Funktion:

    document.getElementsByClassName("klassenname")[].style.marginLeft = "100px";

    Was muss ich in die eckige Klammer schreiben, um alle in der Klassennamen gespeicherten Attribute zu ändern? Oder muss ich das mit der for Bedingung machen, damit er alle hintereinander durchläuft?

    Eckige Klammern wählen in dieser Notation ein einzelnes Element aus. Wenn Du die for-Schleife nicht selbst schreiben willst, schau Dir mal jQuery an.

    Warum bastelst Du überhaupt mit Javascript an Styles herum?

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".