jQuery以像素为单位获取高度

Dra*_*gos 1 javascript jquery

我在HTML页面中有以下元素:

<body>
    <div style="height:100%; width:100%">
    <div style="height:100px;"></div>
    <div id="container" style="height:25%; width:50%">
    </div>
Run Code Online (Sandbox Code Playgroud)

现在我想container使用jQuery(或纯JavaScript)获得div的高度(以像素为单位).我该怎么做?

$('#container').height() // returns `0`
Run Code Online (Sandbox Code Playgroud)

Phi*_*ton 5

在CSS中,除非父元素也定义了高度,否则高度作为百分比不起作用.父母的身高不会起作用(如果是百分比),除非父母的身高已定义,依此类推.

在这种情况下,请尝试将此添加到您的CSS:

html, body {
  height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

更新:您的代码返回的另一个原因0是因为DIV没有任何子节点(甚至没有文本节点).如果添加了一个子节点,它将返回该子节点的高度,但在向百分比定义高度的元素的所有父元素添加显式高度之前,它仍然不会返回25%的值.