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

前端之家收集整理的这篇文章主要介绍了javascript – 有没有办法在jQuery中检测隐式和显式的CSS高度值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在jQuery中,$(‘#foo’).height()和$(‘#foo’).css(‘height’)返回一个值,即使没有使用CSS显式设置height属性.有没有办法检测元素是否没有显式的高度,也就是说它只是根据其内容进行渲染?

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

编辑

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

使用案例

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

我现在想添加撤消这个功能功能,并使所有内容都回到原来的高度.为了做到这一点,我需要知道元素最初是否设置了高度,或者高度是“auto”.一旦我可以做到这一点,我可以将原始的值存储在元素的数据集合中,然后使用它来还原到原来的高度.

解决方法

在一些旧版本的jQuery中,有可能:

http://jsfiddle.net/strikernl/y3P3A/

但是现在你应该使用一个像

function sizeDefined(obj){
   var tmp = obj.clone().html('').appendTo($('body'));
    var w = (tmp.width()==0  ? "no":"yes");
    var h = (tmp.height()==0  ? "no":"yes");
    tmp.remove();
   return  [w,h];
}

http://jsfiddle.net/Enn6p/12/

猜你在找的jQuery相关文章