document 和 document.documentElement 之间的区别
· 阅读需 1 分钟
document 和 document.documentElement 确实有一些重要区别:
-
定义:
document是整个HTML文档的根节点。document.documentElement是HTML文档的根元素,通常是<html>标签。
-
层级:
document是DOM树的顶层对象。document.documentElement是document的直接子节点。
-
属性和方法:
document包含许多特有的属性和方法,如createElement(),getElementById()等。document.documentElement主要继承自Element接口,拥有元素通用的属性和方法。
-
尺寸获取:
- 获取视口大小时,通常使用
document.documentElement.clientWidth/clientHeight。 document本身没有这些尺寸属性。
- 获取视口大小时,通常使用
-
滚动相关:
- 处理页面滚动时,常用
document.documentElement.scrollTop/scrollLeft。 - 某些浏览器可能需要使用
document.body而非document.documentElement。
- 处理页面滚动时,常用
-
DOCTYPE:
document包含DOCTYPE声明。document.documentElement不包含DOCTYPE,仅从<html>开始。