document.body和document.documentElement比較
document.body是DOM中Document對象里的body節(jié)點(diǎn), document.documentElement是文檔對象根節(jié)點(diǎn)(html)的引用。
IE在怪異模型(quick mode)下document.documentElement無法正確取到clietHeight scrollHeight等值,比如clietHeight=0。可以見IE的怪異模型并沒有把html作為盒子模型的一部分,好在現(xiàn)在很少使用怪異模 型。(注:如果頁面沒寫DTD或?qū)懙牟粚Γ琁E6默認(rèn)使用怪異模型解析頁面)
document.body.scrollHeight和document.documentElement.scrollHeight的區(qū)別:
document.body.scrollHeight是body元素的滾動(dòng)高 度,document.documentElement.scrollHeight為頁面的滾動(dòng)高度,且 document.documentElement.scrollHeight在IE和Firefox下還有點(diǎn)小差異。
IE : document.documentElement.scrollHeight = document.body.scrollHeight + marginTop bottom高度 + 上下border寬度
firefox : document.documentElement.scrollHeight = document.body.scrollHeight + marginTop bottom高度
這是DOMDocument對象里的body子節(jié)點(diǎn)和整個(gè)節(jié)點(diǎn)樹的根節(jié)點(diǎn)root。
DOM把層次中的每一個(gè)對象都稱之為節(jié)點(diǎn),就是一個(gè)層次結(jié)構(gòu),你可以理解為一個(gè)樹形結(jié)構(gòu),就像我們的目錄一樣,一個(gè)根目錄,根目錄下有子目錄,子目錄下還有子目錄。
以HTML超文本標(biāo)記語言為例:整個(gè)文檔的一個(gè)根就是<html>,在DOM中可以使用document.documentElement來 訪問它,它就是整個(gè)節(jié)點(diǎn)樹的根節(jié)點(diǎn)。而body是子節(jié)點(diǎn),要訪問到body標(biāo)簽,在腳本中應(yīng)該寫:document.body。
浙公網(wǎng)安備 33010602011771號(hào)