2010-01-26 57 views
4

我想获得一个JQuery UI对话框div的高度,以便我可以动态设置父级的iframe高度。JQuery对话框Div的高度

但是,它似乎是在添加页脚按钮面板和标题面板之前返回div的高度。对话框的高度设置为“auto”;

$(this).height($('#dialogdiv').height()); 

我试过了,outerHeight和offset高度也是,但得到了类似的结果。

任何想法?

回答

5

你调用.dialog()div实际上是嵌入到组成显示的实际jQuery UI对话框的div的另一个框架中。你将要调用是这样的:

$(this).height($('#dialogdiv').closest('.ui-dialog').height()); 

你也可能仍然需要outerHeight玩,但重要的部分是closest这将让该对话框外对话框包装。

如果你的代码看起来像这样开始:

<div id="dialogdiv"> Contents....</div> 

调用.dialog({ options })之后,它看起来就像这样(非常简化):

<div class="ui-dialog ..."> 
    <div class="ui-dialog-titlebar ..."> ... </div> 
    <div id="dialogdiv" class="ui-dialog-content ..."> Contents....</div> 
    <div class="ui-dialog-buttonpane ..."> ... </div> 
</div>