有没有办法在jQuery中检测隐式和显式CSS高度值?

Chr*_*oom 10 html javascript css jquery

在jQuery中,无论是$('#foo').height()和$('#foo').css('height')返回值,即使没有高属性是使用CSS明确设置.有没有办法检测元素是否没有明确的高度,即它只是根据其内容呈现?

这是我写的一个例子来演示:http://jsfiddle.net/Enn6p/2/

编辑

为了进一步澄清我的问题,$('#foo').css('min-height')并$('#foo').css('max-height')已经正确地返回一个空字符串,如果他们没有明确设定.我正在寻找一种方法来确定是否height通过CSS设置显式值.

使用案例

我有一个脚本,试图使浮动元素具有相同的高度.它通过循环元素来查看哪一个是最高的,然后将该高度应用于所有元素.在某些情况下,这些元素已经具有明确的高度设置,但其他元素是隐式呈现的.

我现在想要添加撤消它的功能,并使一切恢复到原来的高度.为了做到这一点,我需要知道元素最初是否设置了高度,或者高度是否为"auto".一旦我能够做到这一点,我可以将原始值存储在元素的数据集合中,然后使用它来稍后恢复到原始高度.

the*_*sti 1

基本上,如果您删除元素的内容并测量其高度,它将等于 0,除非它之前设置了高度(作为样式)。所以根据这个推理:

 function hasSetHeight(elem){
    var html=elem.html();
    elem.html('');
    height = elem.height();
    elem.html(html);
    return (height > 0);
}
Run Code Online (Sandbox Code Playgroud)

删除元素的所有内容,测量其高度,如果元素具有设置的高度,则返回 true 或 false。