jquery:尝试获取 div 高度时的值错误

Posted

技术标签:

【中文标题】jquery:尝试获取 div 高度时的值错误【英文标题】:jquery: wrong values when trying to get div height 【发布时间】:2012-08-24 10:18:06 【问题描述】:

我有这个 html 结构:

<div class=container>
    <div class=content>
            Content goes here
    </div>
</div>

我正在使用以下方法读出 div.content 高度:

var height = $("div.content").height();

将返回 17(在我的测试用例中)

到目前为止效果很好(将其与使用萤火虫的实际高度进行比较时)。 问题是 - 当填充连续文本 > 2 行时,我得到了错误的值。 2 行会给我 34(正确),但 3 行也会返回 34,尽管实际高度是 51。当然,当填写大量文本时,结果值都是错误的。 对我来说似乎是一个 jquery bug .. 任何解决方法的想法? 谢谢

ps:在 IE 中完美运行,firefox 返回错误值..

【问题讨论】:

可能重复:***.com/questions/11665657/… 【参考方案1】:

请改用 $("div.content").outerHeight();

如果您还想包含所有边距和填充,则在括号中添加 -true-。 $('div.content').outerHeight(true);

如果您没有很好的 CSS 重置,或者正在查看旧版浏览器 (ie6/7),跨浏览器的高度可能会有所不同,但如果重置良好,它们的差异将是非常微小。

jsFiddle Demo

【讨论】:

发生了什么?我在 Chrome/Firefox 和 IE 中得到相同的结果。 你的意思是浏览器之间的高度有差异吗? mcpDESIGNS: 是的.. 不同的值 哦,这就是为什么你总是需要非常详细的-reset-css样式表,刚刚更新了jsFiddle,它们现在应该是一样的(ie8和firefox)。 谢谢!没有(true),Ipad 没有得到正确的值

以上是关于jquery:尝试获取 div 高度时的值错误的主要内容,如果未能解决你的问题,请参考以下文章

Jq 为啥获取不到隐藏DIV 的宽度?

jQuery怎么获取一个DIV下所有元素的值

jQuery height() 返回错误值

jquery获取div(带滑动条)内容的实际高度

jquery获取元素到屏幕底的可视距离

jq获取当前浏览器大小怎么赋值给div使改变大小