Jquery Can';t获取div元素的高度

Jquery Can';t获取div元素的高度,jquery,html,css,Jquery,Html,Css,这是一个愚蠢的问题,但我似乎无法理解。基本上我想要我的div元素的高度。但有些人认为它一直返回0。当我检查铬元素时,它给了我一个高度。代码: HTML JQuery: alert($("#signup .panel").outerHeight()); alert($("#signup .panel").height()); 我在以下方法中使用了上述行: $(document).ready(function(){ }); $(window).load(function(){ }); 每次我试

这是一个愚蠢的问题,但我似乎无法理解。基本上我想要我的div元素的高度。但有些人认为它一直返回0。当我检查铬元素时,它给了我一个高度。代码:

HTML

JQuery:

alert($("#signup .panel").outerHeight());
alert($("#signup .panel").height());
我在以下方法中使用了上述行:

$(document).ready(function(){
});

$(window).load(function(){
});

每次我试着提醒高度,我总是得到0。我注意到,在CSS中,如果我指定一个高度,即
height:361px或<代码>高度:40%我得到361或40。但是我不想要这个。“我的面板”的高度会根据其中包含的元素进行更改。我要的是signin的身高。我现在试着。。。我不知道怎么做。请帮助。

为什么高度返回为“0”而没有数据:

我觉得这是对的
height()
返回不带填充和边距的高度。因为元素没有内容(数据),所以高度返回为0

为什么与outerHeight配合使用:

chrome显示高度的原因是因为有填充和边框。这就是为什么您会得到
outerheight()
的值
OuterHeight()
将返回带有填充和边框的高度。如果您使用
outerHeight(true)
将得到元素的高度加上填充、边框和边距

注意:

如果希望元素的高度包括填充,但不包括边框。您可以使用
innerHeight()
。和
innerHeight(true)
如果您想要填充和边距高度而不需要边框高度


请参阅:

代码按原样工作,如图所示。如果代码不起作用,则问题出在其他地方。确保jQuery已链接,并且控制台中没有错误

fiddle HTML:

<div id="signup">
  <div class="panel">
    Tons of Content<br>
    Even More Content
  </div>
</div>

包括jQuery吗?它在这里工作。旁注:
console.log()
优于
alert()
。没那么烦人,是的。outerHeight()将显示一个带填充和边框的空div的高度)不过OP不是两个的高度都为0吗?他说他唯一一次没有得到0是在他显式设置div的高度时。当我用fiddle运行他的代码时,我得到了“40”作为outerHeight的值。这是因为他定义了填充和边界。我不怀疑这一点,因为你对每一个如何工作的解释是正确的。在这个问题上,他说他每次都得0分。也许我只是误解了。很好的解释!
$(document).ready(function(){
});

$(window).load(function(){
});
<div id="signup">
  <div class="panel">
    Tons of Content<br>
    Even More Content
  </div>
</div>
$(document).ready(function(){
  console.log($("#signup .panel").height());
});