2010-12-06 2 views
3

Как определить (используя jQuery?) Высоту div? Его высота не определена в CSS, поэтому она является текучей и основана на содержании.Получить высоту динамически измененной высоты div

я пытался $ ('# DIV') высота (.) - которая возвращает 0.

идеи?

EDIT: (код)

$(document).ready(function() { 
    PositionBottomPicture(); 
}); 

function PositionBottomPicture() { 
    var parentOffset = $('#left_pane').offset(); 
    var parentsHeight = $('#left_pane').height(); 
    var childsTopPostion = (parentOffset.top + parentsHeight); 


    $('#bottom_pic').offset({ top: childsTopPostion, left: parentOffset.left }); 
} 

CSS: 

#left_pane 
{ 
    float: left; 
    margin-left: 27px; 
    position: relative; 
} 

где 'left_pane' и 'bottom_pic' являются дивы.

Спасибо!

+0

Это должно сработать. Отправьте свой HTML, CSS и javascript. Выполняете ли вы код в `$ (document) .ready()`? – matthewpavkov 2010-12-06 21:36:47

+0

@roman, он должен определенно соответствовать высоте div, где вы используете этот код? это div, генерируемый динамически и вызывающий код, находится где-то в другом месте – kobe 2010-12-06 21:37:05

+0

@roman Я на 100% уверен, что он получит вам высоту, я использовал его столько раз в своем коде, размещаю ваш код javascript, мы можем исправить проблему – kobe 2010-12-06 21:38:05

ответ

4

проблема заключается в том, что вы, вероятно, не дожидаетесь, когда div подойдет в DOM;

попробовать что-то вдоль линий:

$(document).ready(function(){ 
     var h = $("#div").height(); 
     var w = $("#div").width(); 
;}) 

с помощью инструмента Document Ready предоставленный JQuery будет ждать, пока элемент был обработан.

0

Если «left_pane» содержит только абсолютно позиционированные элементы его высота будет равна нулю.

Смежные вопросы