Firebug sagt mir den berechneten Stil von my_div
:
Breite 300px
Höhe 453.167px
Aber wenn ich console.log(mydiv.style.height)
ausführe, gibt es mir eine leere Zeichenfolge, obwohl console.log(mydiv)
das richtige Element protokolliert. Ich bin sicher, dass die Seite geladen wurde, wenn dieser Protokollierungscode aufgerufen wird. Ich würde eine Lösung schätzen, die jQuery nicht verwendet.
Abhängig von dem gewählten Browser wird einer davon folgendes tun:
%Vor%UPDATE:
Viele Browser-Inkonsistenzen wurden seit meiner ursprünglichen Antwort behoben. Jetzt ist die Eigenschaft clientHeight
eines DOM-Elements zuverlässig.
var height = element.clientHeight;
Die schreibgeschützte Eigenschaft Element.clientHeight ist null für Elemente ohne CSS- oder Inline-Layout-Felder. Andernfalls ist es die innere Höhe eines Elements in Pixeln, einschließlich der Füllung, aber nicht der horizontalen Bildlaufleiste, Rahmen oder Rand.
clientHeight kann als CSS-Höhe + CSS-Füllung - Höhe der horizontalen Bildlaufleiste (falls vorhanden) berechnet werden.
Hinweis: Diese Eigenschaft rundet den Wert auf eine ganze Zahl ab. Wenn Sie einen Bruchwert benötigen, verwenden Sie element.getBoundingClientRect ().
Quelle: Ссылка
Ursprüngliche Antwort:
Wenn Sie die jQuery JS-Bibliothek verwenden, können Sie Folgendes tun:
%Vor%Wenn Sie die Prototype JS-Bibliothek verwenden, ist es ähnlich:
%Vor%Die Verwendung einer Bibliothek ist oft die einfachste & amp; Cross-Browser-Möglichkeit, etwas zu tun. Das Ermitteln von berechneten Stilen mit vanilla js ist unzuverlässig, da die Eigenschaften in den Browsern unterschiedlich sind.
Tags und Links javascript html