4

私はその中のコンテンツの量に応じてdivの高さを設定しなければならないような状況にあり、それを与えることはできませんmin-height。divの高さを次のように計算できることを知っています:

$("#divid").height();

それで、高さパラメータを持たずにdivの高さを計算し、その中のコンテンツの量に応じてそのdivに高さを与える方法はありますか.

わかりやすく説明していただければ幸いです。

ありがとう

4

4 に答える 4

6

あなたの言葉遣いは少し混乱していますが、div に異なる高さが適用されている場合でも、div 内のコンテンツのサイズを計算する方法を尋ねていると思います。そのために、要素のscrollHeightを使用できます。

$('#divid')[0].scrollHeight

高さの属性/スタイルがないにもかかわらず、要素の高さを計算する方法を知りたい場合は、質問に書いたものを使用できます。.height()特に属性からではなく、ブラウザーでレンダリングされた値から要素の高さを直接計算します。

于 2012-12-31T05:56:53.640 に答える
3

2 つの方法があります。

$("#parent").height($("#child").outerHeight(true));
//-----------------------------^^^^^^^^^^^--^^^^-----outerHeight(true) will give
//---------------------------------------------------you the total height 
//---------------------------------------------------including top bottom margins

詳細 .outerHeight : http://api.jquery.com/outerHeight/

あなたのhtmlが次の場合:

<div style="height:450px;"></div>

次に、これを使用して高さを取得できます。

$("#parent").css('height'); // this will give you the 450px
于 2012-12-31T06:13:12.197 に答える
1

あなたが言ったように、.height()使用するために実際の高さを定義する必要はありません。これが動作中のjsfiddleです:http://jsfiddle.net/nWb5j/

于 2012-12-31T05:58:24.947 に答える
0

jQuery.height()は、要素に (CSS またはその他の方法で) 高さの設定がない場合でも、 を使用して高さを計算します。

于 2012-12-31T06:06:23.833 に答える