document.documentElement和document.body区别

Posted 雪松

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了document.documentElement和document.body区别相关的知识,希望对你有一定的参考价值。

区别:

 

body是DOM对象里的body子节点,即 <body> 标签;

documentElement 是整个节点树的根节点root,即<html> 标签;

没使用DTD情况即怪异模式BackCompat下:

document.documentElement.clientHeight=0document.body.clientHeight=618

 

使用DTD情况即标准模式CSS1Compat下: 

document.documentElement.clientHeight=618 document.body.clientHeight=28(表示内容的高度)

 

因此提取浏览器的尺寸是要注意了。可以参考以下代码:

 

if (document.compatMode == "BackCompat") {  

cWidth = document.body.clientWidth;  

cHeight = document.body.clientHeight;  

sWidth = document.body.scrollWidth;  

sHeight = document.body.scrollHeight;  

sLeft = document.body.scrollLeft;  

sTop = document.body.scrollTop;  

}  

else { //document.compatMode == "CSS1Compat"  

cWidth = document.documentElement.clientWidth;  

cHeight = document.documentElement.clientHeight;  

sWidth = document.documentElement.scrollWidth;  

sHeight = document.documentElement.scrollHeight;  

sLeft = document.documentElement.scrollLeft == 0 ? document.body.scrollLeft : document.documentElement.scrollLeft;  

sTop = document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop;  

}  

 

以上是关于document.documentElement和document.body区别的主要内容,如果未能解决你的问题,请参考以下文章

document.body 和 document.documentElement 的区别

document.documentElement和document.body区别

document.documentElement和document.body区别介绍

IE/FF/Chrome下document.documentElement和document.body的 scrollHeight/scrollTop/clientHeight

document.documentElement和document.body的区别

一句话理解innerHeight,(document.documentElement,document.body) / clientHeight,offsetHeight的区别和用法