Mit JS CSS Eigenschaft auslesen welche noch nicht per JS veränder wurde

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Warfley.

    Mit JS CSS Eigenschaft auslesen welche noch nicht per JS veränder wurde

    Hi,

    wie der Titel schon einiges verrät würde ich gerne wissen wie man die eigenschaft eines Elementes mit JS auslesen kann, noch bevor es einmal geändert wurde.
    Ich weiß dafür gibts es einen "Befehl" nur finde ich den leider nicht mehr.

    Eigenschaft = document.getElementById("Button1").style.marginLeft;

    Eigenschaft ist hier immer gleich NULL.
    Erst wenn ich mit JS einmal einen anderen Wert setze, lässt sich das auslesen.

    Und ja der marginLeft ist gesetzt:

    <div class="Button" id="Button1" onclick="Sliden(25);" style="margin-left: 25px;"></div>

    Ich komm einfach nicht mehr auf den gesuchten Begriff :thumbdown:

    Gruß EIStee

    Edit:

    So wie ich es oben geschrieben habe geht es doch.
    Man muss das CSS im HTML Tag schreiben damit es klappt.
    Doch das geht auch anders, nur dazu fehlt imemrnoch der JS Befehl.

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Eistee“ ()

    Ist schon klar das die alten Ägypter die letzten waren welche style-Attribute verwendet haben.
    Doch nur so funktioniert:

    Quellcode

    1. Var Eigenschaft = document.getElementById("Button1").style.marginLeft;

    Wenn ich CSS in den <head> packe oder von mir aus auch in eine externe Datei.
    Ist eigeschaft immer = NULL

    Schreibe ich die Margin-Left Eigenschaft aber als HTML-Attribute, ist:

    Quellcode

    1. Var Eigenschaft = document.getElementById("Button1").style.marginLeft;

    Gleich dem angegebenen Wert.
    Wenn etwas in den Head-Bereich machst, was auf HtmlElemente zugreift, wird das IMMER Null sein. Da auch biem HTML und JS von oben nach unten abgearbeitet wird. Heist das JS wird ausgeführt, aber der Bodybereich indem das Element ist wurde noch gar nicht erstellt.

    Wenn du was setzten oder auslesen willst, dann mache es in eine Funktion und rufe diese Funktion am Ende des Bodybereichs.
    Ansonsten wenn das Style-Attribut nicht existiert, kannst du ganz normal Try-Catch nutzen. Zumal würde ich auch nicht mit dme Style-Namespace nutzen sondern die getAttribute() oder setAttribute() Funktion.
    Hast natülich recht, nur leider wird die Funktion erst nachdem die Seite sich einmal komplett aufgebaut hat aufgerufen.
    Durch einen klick auf ein HTML Element.

    Ich kann morgen (bin gerade nicht zuhause) mal die Datei (ist nur eine kleine .html) uploaden.
    also so sehr habe ich mich damit nicht beschäftigt, ich weiß allerdings, das (zumindest safari bzw webkit) wenn du mit js auf das style attribut zugreifst auf das attribut im html tag zugreift, nicht auf die klasse

    habe dafür selbst keine lösung gefunden