SOAP: Breite eines divs ermitteln ohne css angaben

Hallo,

ich wollte die Breite eines divs ermitteln, das keine Breitenangaben hat:
Z.B.

<div>blubb</div>

Das div wird ja an den Inhalt angepasst und hat dann eine Breit von ca. 20px.

Nun wollte ich mittels:
test = document.getElementById('Input').offsetWidth;

die Breite auslesen, jedoch ist dieser Wert immer 0. Was ja irgendwie logisch ist, aber gibt es eine Möglichkeit trotzdem die reale Breite zu ermitteln?!

Grüsse
SOAP

  1. Das div wird ja an den Inhalt angepasst und hat dann eine Breit von ca. 20px.

    bei mir hat ein *div* tag die länge fensters

    <div>blubb</div>
    test = document.getElementById('Input').offsetWidth;

    mich wunderts das 0 rauskommt obwohl dein DIV kein id besitzt

    <div onclick="alert(this.offsetWidth);">blubb</div>

    ergibt bei mir 1904

    1. Hi, es kommt 0 raus, und mein div besitzt eine ID...habe sie hier nur vergessen mit reinzuschreiben.

      Deine onClick methode funktioniert alerdings wunderbar...wundert mich, warum es in meiner Funktion nicht funktioniert:

      <div id="Input">VORDEFINIERTER INHALT</div>

      JavaScript:
      test = document.getElementById('Input').offsetWidth;
      alert(test);

      Ausgabe:
      0

      Danke für deine Hilfe, werde noch etwas rumexperimentieren

      Grüsse

      1. Deine onClick methode funktioniert alerdings wunderbar...wundert mich, warum es in meiner Funktion nicht funktioniert:

        Probierst du das was du schreibst auch aus?

        <div id="Input">VORDEFINIERTER INHALT</div>  
          
        <script type="text/javascript" >  
        test = document.getElementById('Input').offsetWidth;  
        alert(test);  
        </script>  
        
        

        Dein Code funktioniert einwandfrei und ergibt auch nicht 0. Kann es sein, dass du das Element mit CSS unsichtbar gemacht hast?

        Struppi.

    2. bei mir hat ein *div* tag die länge fensters

      Mal abgesehen davon, dass es keinen div-Tag gibt (es ist höchstens ein Element), hätte dieser in diesem Fall eine Länge von 5 Buchstaben. Das erzeugte div evtl. die Breite des Fensters aber sicher nicht die Länge.

      Und selbst, wenn ein div bei dir die Länge des Fensters hätte, es war nach der Breite gefragt.

  2. Hi,

    Das div wird ja an den Inhalt angepasst und hat dann eine Breit von ca. 20px.

    nur wenn Du es floatest. Ansonsten hat es die Breite des Eltermelements. Die Eigenschaft offsetWidth (ohne style) könnte Dir helfen.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Hi,

      Das div wird ja an den Inhalt angepasst und hat dann eine Breit von ca. 20px.
      nur wenn Du es floatest.

      Oder inline darstellen laesst.
      Oder absolute positionierst.

      MfG ChrisB