document.documentElement 및 document.body 차이점 소개

1358 단어
차이점:
바디는 DOM 대상의 바디 서브노드, 즉 라벨이다.
documentElement은 전체 노드 트리의 루트, 즉 라벨입니다.
DTD를 사용하지 않은 경우 괴이한 모드 BackCompat:
 
  
document.documentElement.clientHeight=0document.body.clientHeight=618

표준 모드 CSS1Compat에서 DTD를 사용하는 경우:
 
  
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;
}

좋은 웹페이지 즐겨찾기