3

我有一个 div:

<div id="div" style="height:150px; border:solid thin blue;"></div>

有没有办法检索原始div 高度?div 是可调整大小的,因此用户可能在我的代码加载之前调整了它的大小。
注意:我的代码是一个 jQuery 插件,所以我不知道在调用我的插件之前元素发生了什么(所以请不要告诉我在元素数据中存储高度......)

jqFiddle在这个演示中,我想在调整 div 大小后得到150 。
任何帮助将不胜感激!

4

3 回答 3

2

不,因为resizable()方法会覆盖内联样式height值。

您需要将其存储在其他地方。

例如在div调整大小之前:

var originalHeight = $('#div').height();
$('#div').resizable();

$('#cmd').button().click(function(){
    alert(originalHeight);
});
于 2012-05-11T13:13:21.267 回答
0
originalHeight=0;
$(document).ready(function()
{
    originalHeight= $("#div").height()
});
于 2012-05-11T13:23:33.130 回答
0

我不知道从 DOM 获取旧数据的方法,但你能不能坚持让插件调用一个 init 函数并获取这些值?您还可以在文档中建议在完成 init 函数之前不要移动元素,尽管如果通过 .ready() 调用它,这应该在用户有机会闪烁之前发生。

div如何调整大小,使用jquery-ui?

另一种选择可能是使用 ajax 再次获取页面,然后解析页面,但这会耗费大量精力并且非常混乱。

于 2012-05-11T13:23:42.520 回答