【问题标题】:Why does jQuery return null for the height of the div?为什么jQuery为div的高度返回null?
【发布时间】:2011-04-10 11:55:44
【问题描述】:
$(document).ready(function(){

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

jQuery 不断提醒null 我的#mainbody div 的高度。我不明白为什么,至少应该是500px 左右。

【问题讨论】:

  • 你确定
    存在吗?
  • 你没有id="#mainbody",有#吗?
  • @Nick:心理调试+1。
  • @Tomalak +1 表示“心理调试”这一短语
  • @Marko - 短语表扬 +1

标签: jquery height


【解决方案1】:

如果内容是动态加载的,元素可能还没有高度。尝试将此代码移动到页面底部,直接在上方,看看是否可以解决。

更新: 尝试将您的代码放入

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

在你之外

$(document).ready();

【讨论】:

  • 我有这个问题,但是我的代码在 DOM 准备好后执行。奇怪。
【解决方案2】:

如果您使用模板作为标记,例如使用 angular 或 ember,请使用 script 标签并从模板调用脚本。

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签