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

标签 javascript jquery html css

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

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

编辑

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

用例

我有一个脚本试图使 float 元素具有相同的高度。它通过遍历元素以查看哪个元素最高,然后将该高度应用到所有元素来实现这一点。在某些情况下,这些元素已经设置了显式高度,但其他元素会隐式呈现。

我现在想添加撤消此操作的功能,并使一切恢复到原来的高度。为此,我需要知道元素最初是否设置了高度,或者高度是否为“自动”。一旦我可以这样做,我就可以将原始值存储在元素的数据集合中,然后使用它来恢复到原始高度。

最佳答案

在某些旧版本的 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/

关于javascript - 有没有办法在 jQuery 中检测隐式与显式 CSS 高度值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24147458/

相关文章:

javascript - 将随机播放与网络音频播放相结合

Javascript 样式的错误

jquery - 带有 jQ​​uery 验证错误的 CSS 表单布局

javascript - 使用前端 javascript 文件中的 Electron ipcRenderer

javascript - 当关闭其父窗口时,事件监听器不适用于弹出窗口

javascript - 我可以编写一个可选地使用 require.js 指定依赖项的 javascript 文件吗?

javascript - 执行ajax时如何将javascript变量值传递给jQuery validate() SubmitHandler

javascript - 如果输入中插入两个数字字符,则显示/隐藏 div

javascript - 在采取行动的情况下获取单选按钮的选定值

javascript - onclick方法错误