我想知道是否有任何方法可以获得div高度(以像素为单位),尽管其高度设置为100%高度 这是必需的,因为div内容是动态的,因此div高度具有基于内容本身的不同值。
[编辑] 默认情况下,Div是隐藏的。
我需要以像素为单位获得div高度以便以后操作(div会进行平滑滚动)? 有没有办法做到这一点?
答案 0 :(得分:15)
由于您标记了jQuery,请使用
$("#myElement").height();
对于Plain Ol'Javascript,您可以使用element.clientHeight
或element.offsetHeight
,具体取决于哪一个符合您的需求。
.show()
之前,您必须.height()
,然后您可以立即将其隐藏起来:
var $myEl = $('#myElement').show();
var height = $myEl.height();
$myEl.hide();
答案 1 :(得分:5)
theDiv.clientHeight
答案 2 :(得分:2)
您可以使用height()
$("#divInQuestion").height();
答案 3 :(得分:1)
您可以使用.height()功能:
$('#divid').height()
答案 4 :(得分:0)
在慢速浏览器上,显示/隐藏方法可能导致框闪烁(尽管计算机必须非常慢)。因此,如果你想避免这种情况,给div一个不透明度:0 - 甚至可能是一个位置:绝对,所以它不会推动内容。所以要扩展之前的代码:
var $myEl = $('#myElement').css({"opacity": "0", "position": "absolute"}).show();
var height = $myEl.height();
$myEl.hide().css({"opacity": "", "position": ""});
但是又来了。这可能有点过头了。