Die div-Höhe wird erreicht

8

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.

    
Rose Perrone 25.05.2012, 00:58
quelle

2 Antworten

13

Abhängig von dem gewählten Browser wird einer davon folgendes tun:

%Vor%

Erhalte die volle Höhe eines ausgeschnittenen DIVs

Die Höhe eines divs erreichen

    
josh.trow 25.05.2012, 01:00
quelle
-4

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.

    
Alex Kinnee 25.05.2012 01:03
quelle

Tags und Links