私はその中のコンテンツの量に応じてdivの高さを設定しなければならないような状況にあり、それを与えることはできませんmin-height
。divの高さを次のように計算できることを知っています:
$("#divid").height();
それで、高さパラメータを持たずにdivの高さを計算し、その中のコンテンツの量に応じてそのdivに高さを与える方法はありますか.
わかりやすく説明していただければ幸いです。
ありがとう
私はその中のコンテンツの量に応じてdivの高さを設定しなければならないような状況にあり、それを与えることはできませんmin-height
。divの高さを次のように計算できることを知っています:
$("#divid").height();
それで、高さパラメータを持たずにdivの高さを計算し、その中のコンテンツの量に応じてそのdivに高さを与える方法はありますか.
わかりやすく説明していただければ幸いです。
ありがとう
あなたの言葉遣いは少し混乱していますが、div に異なる高さが適用されている場合でも、div 内のコンテンツのサイズを計算する方法を尋ねていると思います。そのために、要素のscrollHeightを使用できます。
$('#divid')[0].scrollHeight
高さの属性/スタイルがないにもかかわらず、要素の高さを計算する方法を知りたい場合は、質問に書いたものを使用できます。.height()
特に属性からではなく、ブラウザーでレンダリングされた値から要素の高さを直接計算します。
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
あなたが言ったように、.height()
使用するために実際の高さを定義する必要はありません。これが動作中のjsfiddleです:http://jsfiddle.net/nWb5j/
jQuery.height()
は、要素に (CSS またはその他の方法で) 高さの設定がない場合でも、 を使用して高さを計算します。