为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery:获取jQuery中隐藏元素的高度

jQuery:获取jQuery中隐藏元素的高度

哆啦的时光机 2019-07-03 15:27:50
jQuery:获取jQuery中隐藏元素的高度我需要得到一个元素的高度是在一个div是隐藏的。现在,我显示div,获取高度,并隐藏父div。这看起来有点傻。有更好的办法吗?我使用的是jQuery 1.4.2:$select.show();optionHeight = $firstOption.height(); //we can only get height if its visible$select.hide();
查看完整描述

3 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

你可以做这样的事,尽管有点烦躁,算了吧。position如果它已经是绝对的:

var previousCss  = $("#myDiv").attr("style");$("#myDiv").css({
    position:   'absolute', // Optional if #myDiv is already absolute
    visibility: 'hidden',
    display:    'block'});optionHeight = $("#myDiv").height();$("#myDiv").attr("style", previousCss ? previousCss : "");


查看完整回答
反对 回复 2019-07-03
?
繁星coding

TA贡献1797条经验 获得超4个赞

我在获取隐藏元素宽度时遇到了同样的问题,所以我编写了这个插件调用。jQuery实数来修复它。而不是使用

$('#some-element').height();

使用

$('#some-element').actual('height');

将为隐藏元素或具有隐藏父元素的元素提供正确的值。

完整的文件,请参阅这里..也有一个演示包括在页面中。

希望这个帮助:)


查看完整回答
反对 回复 2019-07-03
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

您正在混淆两种CSS样式,显示方式能见度风格.

如果元素是通过设置可见性css样式隐藏的,那么无论元素作为元素是否可见,都应该能够获得元素的高度。仍然占用页面上的空间.

如果该元素是通过将显示CSS样式更改为“None”来隐藏的,则该元素不会占用页面上的空间,您将不得不给它一种显示样式,这将导致元素在某个空间中呈现,此时您可以获得高度。


查看完整回答
反对 回复 2019-07-03
  • 3 回答
  • 0 关注
  • 1110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信