虽然高度设置为100%,但以像素为单位获得div高度

Ahm*_*med 8 javascript jquery

我想知道是否有任何方法可以获得div高度(以像素为单位),尽管其高度设置为100%高度.
这是必需的,因为div内容是动态的,因此div高度具有基于内容本身的不同值.

[编辑] Div默认隐藏.

我需要以像素为单位获得div高度以便以后操作(div将进行平滑滚动)?
有没有办法做到这一点?

And*_*y E 15

由于您标记了jQuery,请使用

$("#myElement").height();
Run Code Online (Sandbox Code Playgroud)

http://api.jquery.com/height/

对于Plain Ol'Javascript,您可以使用element.clientHeightelement.offsetHeight取决于哪一个适合您的需求.


由于div是隐藏的,你必须.show()在调用之前使用它.height(),你可以立即再次隐藏它:

var $myEl  = $('#myElement').show();
var height = $myEl.height();
$myEl.hide();
Run Code Online (Sandbox Code Playgroud)

  • @Ahmed:隐藏元素没有"像素高度",因此如果不先显示元素,然后再将其隐藏,则无法获得像素高度.如果在显示并获取高度值后立即隐藏,则不会更新显示以显示元素. (2认同)