获取div的自动高度而不克隆它

时间:2013-04-24 00:16:30

标签: javascript jquery

我有一个div元素,其自动高度可以说是300px 点击一下按钮,我将它的高度设置为500px 我想将它的高度设置为其默认高度。 我知道的唯一解决方案是克隆div,存储它的高度并相应地使用它 一个jsfiddle example

var elem = $("div").clone().height("auto").appendTo("body");
$('div').animate({"height": elem.height()});
elem.remove();

有更好的方法吗?我不想克隆,因为我的实际页面上有大量的元素。

更新: 我创建了another fiddle。如果元素尚未设置为负载,您将如何获得元素的默认高度?

2 个答案:

答案 0 :(得分:1)

当您将其高度设置为静态值时,可以存储原始高度,可能作为元素的数据属性。 这样:

$('button').click(function() {
    $('div').data('origHeight',$('div').height());
    //Your code to set the height
});

然后:

$('div').animate({"height": $('div').data('origHeight')});

答案 1 :(得分:0)

如何将“旧身高”保存到某个属性?

像这样。

$('#someDiv').attr('old-height',$('#someDiv').height());
你怎么说?