为什么jQuery为div的高度返回null?

时间:2010-09-09 21:47:03

标签: jquery height

$(document).ready(function(){

  function getDocumentHeight()
  {
     // What's the page height?
     var height = $('#mainbody').height();
     alert(height);
   ...
 getDocumentHeight();  }

jQuery一直警告null我的#mainbody div的高度。我不明白为什么,它至少应该是500px左右。

3 个答案:

答案 0 :(得分:13)

如果以动态方式加载内容,则元素可能还没有高度。尝试将此代码移到页面底部,正上方,看看是否会解析。

更新: 尝试将代码放入

$(window).load(function() {
  var height = $('#mainbody').height();
  alert(height);
});

在你的

之外
$(document).ready();

答案 1 :(得分:1)

如果您使用标记的模板,例如使用angular或ember,请使用脚本标记并从模板中调用脚本。

<script type="text/javascript" src="/js/script.js"></script>

答案 2 :(得分:0)

延迟100ms对我来说效果很好。毫不拖延地不工作。

setTimeout(function(){
    var imgWidth = $('#id').width();
    var imgHeight = $('#id').height();
    console.log(imgWidth);
    console.log(imgHeight);
}, 100);