Josef: "width" mit getComputedStyle/currentStyle immer "auto"! :-(

Hallo allerseits.

Ich versuche mit nachfolgender Funktion die Breite eines "<span>...</span>"-Knotens herauszubekommen. Leider liefert mir die Funktion immer nur den Wert "auto", der mir leider herzlich wenig bringt. Gibt es eine Möglichkeit, die Breite auch in Pixeln auszugeben (zumal sich die Breite des spans bei jedem Tastendruck ändert, weil da per Javascript immer etwas neues hineingeschrieben wird)?

Hier meine Funktion (für IE und FF):

showCurrentStyle = function (ref, styleName) {
 if(window.getComputedStyle) {
  return window.getComputedStyle(ref,'').getPropertyValue(styleName);
 } else if(ref.currentStyle) {
  var styleName = styleName.replace(/-/g, '');
  return ref.currentStyle[styleName];
 }
}

Aufgerufen wird das Ganze mittels:

showCurrentStyle(document.getElementById('inputWidthWrapper'), 'width'); // ergibt leider immer "auto"

Das Span-Tag in der HTML-Seite sieht so aus:
<span id="inputWidthWrapper">Der dynamische Text</span>

Vielen Dank für die Hilfe schonmal und schöne Grüße, Josef

  1. Hallo,

    die width-Eigenschaft gilt nicht für normale Inline-Elemente wie span, also finde ich es nicht verwunderlich, dass width immer gleich auto bleibt.

    Gibt es eine Möglichkeit, die Breite auch in Pixeln auszugeben

    Wie gewohnt offsetWidth. Oder was spricht dagegen?

    Mathias

    --
    »No nations, no borders.«
    SELFHTML Weblog
    1. Wie gewohnt offsetWidth. Oder was spricht dagegen?

      ... nein, nur, dass ich nicht drauf gekommen bin ;-). Vielen Dank für die Hilfe. Grüße, Josef