Felix Riesterer: tatsächliche Breite ermitteln (in Pixeln)

Liebe Selfer,

wie kann ich per Javascript auf die tatsächliche Breite eines Elementes zugreifen, wenn in meinem Stylesheet kein expliziter Wert gesetzt ist?

Ich habe folgendes probiert:
alert(getElementById("inhalt").style.width);

Das fragliche Element ist ein DIV, dessen Breite durch sein Elternelement eingeschränkt wird. Mein Browser (FF) gibt mir einen leeren String aus...

Der DOM-Inspector jedoch kennt eine exakte Pixelangabe. Wenn der die ermitteln kann, warum kann ich das dann nicht in Javascript?

Ich habe weiter probiert:
alert(getElementById("seite").style.width);

Das fragliche Element hat im Stylesheet eine konkrete Angabe zur Breite in Pixeln. Aber auch hier erhalte ich vom Browser (FF) wieder nur einen leeren String...

Wer weiß Rat? Vielen Dank schonmal für Euer Nachvollziehen meines Problems!

Liebe Grüße aus Ellwangen,

Felix Riesterer.

  1. Hallo Felix.

    wie kann ich per Javascript auf die tatsächliche Breite eines Elementes zugreifen, wenn in meinem Stylesheet kein expliziter Wert gesetzt ist?

    Schon ein Mal mit offsetWidth versucht?

    Einen schönen Freitag noch.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Firefox tools for Opera built-ins
    Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
    MathML fetzt
    1. Lieber Ashura,

      Schon ein Mal mit offsetWidth versucht?

      Hurraaaa, das ist es! Tausend Dank!

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.

  2. Hi!

    Ich meine mich erinnern zu können, hier im Forum mal gelesen zu haben, dass Javascript CSS-Eigenschaften über den Aufruf [objekt].style.eigenschaft erst dann lesend zur Verfügung stehen, wenn diese auch per JS gesetzt wurden. Ich bin mir aber nicth sicher.

    Vielleicht hilft dir getAttribute(); weiter.

    Desweiteren heisst das doch document.getElementById oder nicht?

    Gruß aus Iserlohn

    Martin

    1. Lieber Martin,

      Desweiteren heisst das doch document.getElementById oder nicht?

      Du hast vollkommen recht! Ich habe das "document" vergessen zu notieren.

      Aber den gewünschten Effekt erreiche ich noch immer nicht.

      Trotzdem Danke!

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.

  3. Hallo,

    http://www.quirksmode.org/dom/getstyles.html

    Über das style-objekt hast du hingegen nur Zugriff auf die Inline-Styles eines Elements (also ein Interface zum style-Attribut), das hat mit dem gegenwärtigen faktischen Wert einer CSS-Eigenschaft nichts zu tun.

    Mathias