2012-12-31 3 views
3

Я в такой ситуации, что я должен установить высоту div, зависит от количества содержимого в нем, я не могу дать min-height. Я знаю, что мы можем вычислить высоту DIV по:Как рассчитать высоту div в jQuery?

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

Так есть ли способ, которым мы можем вычислить высоту DIV без параметра высоты в нем и дают высоту этого DIV зависит от количества содержания в нем.

Надеюсь, я объяснил это четко.

Благодаря

+1

Что вы подразумеваете под «без параметра высоты»? – Joseph

+0

Я имею в виду, что это

. Если у меня нет параметра высоты в этом, то как я могу вычислить высоту этого div? –

+1

@RavinderSingh Это должно работать только с помощью '.height()'. Он вычисляет штраф без атрибута. Кроме того, divs автоматически соответствуют их содержимому по вертикали, так что вы делаете, что нарушает это поведение? – loganfsmyth

ответ

1

Как и вы сказали, с .height(), не обязательно должна быть фактическая высота, определяемая для использования. вот jsfiddle, показывающий его в действии: http://jsfiddle.net/nWb5j/

6

Ваша формулировка немного сбивает с толку, но я думаю, что вы спрашиваете, как рассчитать размер содержимого внутри DIV даже если DIV имеет разную высоту применяется. Для этого вы можете использовать элемент scrollHeight.

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

Если вы просто хотите знать, как вычислить высоту элемента, даже если он не имеет атрибута/стиля для высоты, вы можете просто использовать то, что вы написали в этом вопросе. .height() вычисляет высоту элемента непосредственно из отображаемых браузером значений, а не из атрибутов.

+0

+1, beat меня на 3 секунды =) – jeremy

+0

@ Ниль: D Так близко. – loganfsmyth

1

У вас есть два способа сделать это:

$("#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 
Смежные вопросы