Bug: Breite eines Elements auslesen

Hi,

wie kann ich die Breite eines Elements abfragen?

a.navi {width:133px; height:100px; display:block; float:left; font-weight:bold; color:#000; border:2px solid transparent}

<a class='navi contact'    onMouseOver="alert(this.width)" href='contact.htm' width=133>Contact</a>

The "alert" gibt undefined aus, während it this.innerHTML kennt.

LG Bug

  1. Hallo,

    <a class='navi contact'    onMouseOver="alert(this.width)" href='contact.htm' width=133>Contact</a>

    Versuch mal alert(this.style.width)

    MfG
    tomgk

    1. Versuch mal alert(this.style.width)

      Hatte ich schon probiert. gibt auch keine Antwort.

      onMouseOver="alert('[' +this.style.width +']')"

      zeigt
      []

      durch das Anzeigen der KLammern wird klar, dass das Element jetzt wohl bekannt ist, aber keine Breite hat.

      Bug

  2. Hallo,

    dann propiers mithis.getStyle("width")

    MfG
    tomgk

  3. wie kann ich die Breite eines Elements abfragen?

    Mit element.offsetWidth

    Andere CSS-Eigenschaften, die nicht über das style-Objekt bzw. das style-Attribut direkt gesetzt wurden, kannst du mit einer Helferfunktion wie getCurrentStyle auslesen.

    <a class='navi contact'    onMouseOver="alert(this.width)" href='contact.htm' width=133>Contact</a>

    Ein a-Element hat kein width-Attribut, insofern ist dieses Verhalten logisch.

    Mathias