JQuery对话框Div高度

4
我正在尝试获取JQuery UI对话框div打开后的高度,以便可以动态设置父级iframe的高度。
然而,它似乎会返回给我在页脚按钮面板和标题面板添加之前div的高度。对话框的高度设置为“auto”。
$(this).height($('#dialogdiv').height());

我已经尝试过outerHeight和offsetHeight,但结果类似。

有什么想法吗?

1个回答

5
您调用 .dialog()div 实际上嵌入到另一个由 div 组成的框架中,这个框架构成了实际显示 jQuery UI Dialog 的部分。您需要调用的是以下内容:
$(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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接