/ / Warum gibt height () eine völlig gerade Zahl zurück, unabhängig von der Fenstergröße in jQuery? - Frage

Warum gibt height () unabhängig von der Fenstergröße in jQuery eine völlig gerade Zahl zurück? - jquery

Ich versuche, die Höhe eines bestimmten zu bestimmenElement auf meiner Seite. Ich habe die Höhe im CSS nicht festgelegt und unabhängig von der Größe des Fensters gibt der folgende Code immer die Ganzzahl "100" zurück.

var img_h = $("#compare_view").height();
console.log(img_h);

Wenn ich ein anderes div-Element auf der Seite versuche, wird die Ganzzahl "20" zurückgegeben.

Dies gilt auch dann, wenn ich mir das Element in den Entwicklertools von Chrome ansehe, wird eine Höhe von 415 Pixel oder eine andere Höhe in Pixel angezeigt (was genau ist).

Bearbeiten: Ok ...Es scheint, als hätte ich herausgefunden, dass dies daran liegt, dass das übergeordnete Element eine Höhe von 100% zurückgibt und dass das übergeordnete Element 5 Divs enthält, von denen jedes eine Höhe von 20% hat. Ich schätze, meine neue Frage ist ... wie kann ich dafür sorgen, dass es in PX und nicht in Prozent zurückgegeben wird, obwohl es nicht in Pixel eingestellt ist?

Edit 2: Ok .... das war nicht wahr. Ich habe es nur mit dem folgenden Code bearbeitet var img_h = $("#compare_view").css("height"); console.log(img_h); und es gab "100px" zurück

Es gibt also den Wert der Höhe in Pixel zurück, ist aber eindeutig nicht genau. Also bin ich immer noch am ursprünglichen Ort, an dem ich war - d. H. Nicht sicher, warum es diese seltsamen Zahlen zurückgibt.

Edit 3: Hier ist das relevante CSS - dies ist der einzige Abschnitt, der mit dieser Div-ID zusammenhängt:

#compare_view #compv-navbar {
font-weight: bold;
background: #f9f4c0;
height: 23px;
width: 220px;
border: 1px solid #c97d7d;
word-spacing: 0px;
letter-spacing: 2px;
margin: 0 0 15px 0;    /* top, right, bottom, left */
padding: 5px 0px 7px 0px;    /* top, right, bottom, left */
}

Beachten Sie, dass dies nicht speziell für die div id = "compare_view" gilt, sondern ein untergeordnetes Element von compare_view.

compare_view hat auf meiner Website keine Höhe im Stylesheet festgelegt.

Antworten:

0 für die Antwort № 1

Das height() Methode von jQuery liefert die berechnet Höhe eines Elements. Sie sehen den Unterschied, da die Wahrscheinlichkeit besteht, dass sich die Höhe des Elements während des Ladens der Seite zu einem bestimmten Zeitpunkt / Ereignis ändert.