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

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

我需要得到一个元素的高度是在一个div是隐藏的。现在,我显示div,获取高度,并隐藏父div。这看起来有点傻。有更好的办法吗?

我使用的是jQuery 1.4.2:

$select.show();optionHeight = $firstOption.height(); //we can only get height if its visible$select.hide();


哆啦的时光机
浏览 1111回答 3
3回答

DIEA

你可以做这样的事,尽管有点烦躁,算了吧。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 : "");

繁星coding

我在获取隐藏元素宽度时遇到了同样的问题,所以我编写了这个插件调用。jQuery实数来修复它。而不是使用$('#some-element').height();使用$('#some-element').actual('height');将为隐藏元素或具有隐藏父元素的元素提供正确的值。完整的文件,请参阅这里..也有一个演示包括在页面中。希望这个帮助:)

ABOUTYOU

您正在混淆两种CSS样式,显示方式而能见度风格.如果元素是通过设置可见性css样式隐藏的,那么无论元素作为元素是否可见,都应该能够获得元素的高度。仍然占用页面上的空间.如果该元素是通过将显示CSS样式更改为“None”来隐藏的,则该元素不会占用页面上的空间,您将不得不给它一种显示样式,这将导致元素在某个空间中呈现,此时您可以获得高度。
打开App,查看更多内容
随时随地看视频慕课网APP