为什么$(document).height()与$(document.body).height()不同?

时间:2012-10-18 12:55:47

标签: jquery document

我一直在谷歌搜索,但仍然无法找到原因 $(document).height()$(document.body).height()不同?

更何况,任何人都可以告诉我高度方法之间的对应关系 在jQuery和原始的JavaScript?

例如,$(document).height()相当于document.documentElement.scrollHeight

2 个答案:

答案 0 :(得分:4)

因为HTML中的<body>元素只是另一个块元素(很像<div>),并且与任何块元素一样,它可以具有维度样式(margin,{{ 1}},paddingwidth等。)

考虑到这一点,height元素的“大小”不需要直接对应于<body>对象的大小(对应于整个HTML文档,作为整体渲染) 。一个很好的理由是document元素也在<body>元素内,一个块元素,并且可以有各自的维度。

如果您的<html>元素具有<html>,那么您的padding:10px元素的有效大小肯定会与整个<body>完全不同。

现在,不要误解我的意思:documentdocument 可以具有完全相同的大小(例如,尝试检查StackOverflow),但你必须明白document.body只是您可以通过CSS操作的另一个HTML块。

答案 1 :(得分:0)

我认为身体有标准余量。 对于第二部分,我不知道你的意思。