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

标签 jquery document

我已经谷歌了一段时间,但仍然找不到原因
$(document).height()$(document.body).height() 不同吗?

还有谁能告诉我高度方法之间的对应关系
在 jQuery 和原始 JavaScript 中?

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

最佳答案

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

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

如果您的<html>例如,元素有 padding:10px ,然后是你的<body>元素的有效大小肯定会与整体不同document完全。

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

关于jquery - 为什么 $(document).height() 与 $(document.body).height() 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12955239/

相关文章:

jquery - MVC 3.0 JQUERY 部分页面更新

jQuery addClass 或包裹在元素不太可能的部分

javascript - 在元素中查找元素的更好方法

javascript - jstree - 基于当前导航 url 的节点选择

search - Elasticsearch 返回给定类型的所有文档

iphone - 为什么在文档目录为空时创建文件名nsarray导致我的应用崩溃?

java - 如何在 Solr 索引中创建嵌套文档?

.net - 如何正确记录应用程序的逻辑流程?

Jquery函数在href点击时滑动div

javascript - 有没有办法为 Firefox 26 创建一个用 javascript 编写的自定义工具栏按钮,并且可以访问当前加载的页面?