document.documentElement和document.body區別簡單介紹

antzone發表於2017-04-06

這兩個概念是非常的好區分的,從名稱就可以輕鬆知道,但是不知道為什麼還是有不少的朋友對這兩個經常混淆。

下面就簡單介紹一下這兩者的區別,希望能夠給需要的朋友帶來一定的幫助。

區別如下:

(1).body是DOM物件中的body子節點,就是使用<body>標籤來定義的。

(2).documentElement是整個DOM節點樹的根節點,就是用<html>標籤來定義的。

本人感覺之所以兩者讓人有所疑問,就是兩個都可以在不同的條件先獲取瀏覽器客戶區的尺寸。

下面給出簡單的例子:

在怪異模式下,也就是沒有生命DTD的情況下可以使用如下程式碼獲取客戶區的高度:

[JavaScript] 純文字檢視 複製程式碼
document.body.clientHeight
在標準模式下,可以使用如下程式碼獲取:
[JavaScript] 純文字檢視 複製程式碼
document.documentElement.clientHeight

當然在現今,可能沒有哪個稍有經驗的前端人員在怪異模式下寫程式碼。