最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中Document對象常見的的屬性分析實例詳解

 更新時間:2026年03月07日 09:42:04   作者:長城2024  
JavaScript中的Document對象是網(wǎng)頁開發(fā)的核心接口,為開發(fā)者提供了操作HTML文檔的橋梁,它包含豐富的屬性和方法,本文給大家介紹JavaScript中Document對象常見的的屬性分析,感興趣的朋友跟隨小編一起看看吧

         JavaScript中的Document對象是網(wǎng)頁開發(fā)的核心接口,作為DOM(文檔對象模型)的根節(jié)點,它為開發(fā)者提供了操作HTML文檔的橋梁。通過Document對象,可以訪問和修改頁面的結構、內(nèi)容與樣式,例如利用document.getElementByIddocument.querySelector獲取元素,通過document.titledocument.cookie讀寫文檔信息,實現(xiàn)動態(tài)更新、表單驗證、用戶交互響應等功能。其豐富的屬性不僅涵蓋了文檔的基本元數(shù)據(jù),如URL、標題、字符集、加載狀態(tài)等,還提供了對頁面元素集合的直接訪問,如forms、images、links等,極大提升了開發(fā)效率和代碼的可操作性。在現(xiàn)代前端開發(fā)中,Document對象是實現(xiàn)動態(tài)網(wǎng)頁和單頁應用(SPA)不可或缺的基礎,幾乎所有與頁面交互的JavaScript邏輯都依賴于它。

        隨著Web標準的演進,Document對象也在不斷擴展和完善。W3C和WHATWG持續(xù)推動DOM規(guī)范的發(fā)展,使其支持更多現(xiàn)代Web特性,如Shadow DOM、MutationObserver等,增強了對復雜應用狀態(tài)的監(jiān)聽與控制能力。未來,Document對象將更加注重性能優(yōu)化、安全性和跨平臺兼容性,例如通過更高效的查詢方法、更精細的權限控制來提升用戶體驗。同時,在Web Components、漸進式Web應用(PWA)等新興技術中,Document對象將繼續(xù)扮演關鍵角色,成為連接JavaScript與網(wǎng)頁內(nèi)容的核心樞紐。

        下面,對JavaScript中Document對象常見的屬性進行逐一分析講解:

第一部分:文檔元數(shù)據(jù)與位置 (1-5)

1、document.title

  • 含義:獲取或設置當前文檔的標題,也就是顯示在瀏覽器標簽頁上的文字。
  • 詞源:Title 在英文中意為“標題、名稱”。
  • 語法
    • 獲取:let pageTitle = document.title;
    • 設置:document.title = '新標題';
  • 參數(shù)及說明:它是一個字符串。設置時會覆蓋 HTML 中 <title> 標簽的內(nèi)容,但不會修改 DOM 樹中的實際節(jié)點值(只是同步了顯示)。
  • 例子
console.log(document.title); // 輸出:當前頁面的標簽名
document.title = "歡迎光臨我的網(wǎng)站"; // 瀏覽器標簽頁上的文字立刻改變

2、document.URL

  • 含義:返回當前文檔的完整 URL 地址(只讀)。
  • 詞源:Uniform Resource Locator(統(tǒng)一資源定位器)的縮寫。
  • 語法let currentUrl = document.URL;
  • 參數(shù)及說明:它是一個只讀字符串,包含協(xié)議、主機、端口、路徑、查詢參數(shù)和哈希。
  • 例子
// 假設當前地址是 https://example.com/page?id=1#section
console.log(document.URL); // 輸出:https://example.com/page?id=1#section
// document.URL = “新地址”; // 這樣做是無效的,它不可寫

3、document.domain

  • 含義:獲取或設置當前文檔的域名。
  • 詞源:Domain(域名)。
  • 語法let currentDomain = document.domain; 或 document.domain = 'example.com';
  • 參數(shù)及說明:它是一個字符串。主要用于同源策略的限制。在二級域名不同的跨子域通信中(如 a.example.com 和 b.example.com),可以將兩邊都設置為 example.com 來實現(xiàn)通信。現(xiàn)在該屬性在現(xiàn)代瀏覽器中為了安全已被嚴格限制(通常只能設為更高級別的相同后綴,且不能設置為頂級域名)。
  • 例子
console.log(document.domain); // 假設輸出:'www.example.com'
// 如果要與子域 api.example.com 通信,可以設置:
// document.domain = 'example.com';

4、document.referrer

  • 含義:返回鏈接到當前頁面的那個頁面的 URL(即來源頁面地址,只讀)。
  • 詞源:Referrer(引薦人,來源)。
  • 語法let referringPage = document.referrer;
  • 參數(shù)及說明:它是一個字符串。如果是直接打開頁面(如輸入網(wǎng)址或書簽),則返回空字符串 ""。
  • 例子
// 如果你從 google.com 搜索后點擊鏈接進來
console.log(document.referrer); // 輸出:'https://www.google.com/'

5、document.cookie

  • 含義:獲取或設置與當前文檔相關聯(lián)的 HTTP Cookie。
  • 詞源:Cookie(小甜餅,網(wǎng)絡數(shù)據(jù)包)。
  • 語法
    • 讀?。?code>let allCookies = document.cookie;
    • 寫入:document.cookie = “name=value; expires=date; path=path”;
  • 參數(shù)及說明:讀取時返回包含所有 Cookie 的字符串(格式如 key1=value1; key2=value2)。寫入時是追加或修改,而不是覆蓋全部。
  • 例子
console.log(document.cookie); // 輸出:'username=John; theme=dark'
// 設置一個新 cookie
document.cookie = “l(fā)anguage=zh-CN; path=/”;

第二部分:文檔元素集合 (6-12)

6、document.body

  • 含義:返回當前文檔的 <body> 元素。
  • 詞源:Body(身體、主體)。
  • 語法let bodyElement = document.body;
  • 參數(shù)及說明:它是一個 HTMLBodyElement 對象。如果是框架集(Frameset)頁面,可能返回 <frameset> 元素。
  • 例子
document.body.style.backgroundColor = 'lightblue'; // 讓頁面背景變藍

7、document.head

  • 含義:返回當前文檔的 <head> 元素。
  • 詞源:Head(頭部)。
  • 語法let headElement = document.head;
  • 參數(shù)及說明:它是一個 HTMLHeadElement 對象。
  • 例子
console.log(document.head.innerHTML); // 查看 head 里有什么

8、document.forms

  • 含義:返回包含當前文檔中所有 <form> 元素的集合(HTMLCollection)。
  • 詞源:Forms(表單,復數(shù))。
  • 語法let formCollection = document.forms;
  • 參數(shù)及說明:可以通過索引([0])或表單的 name 屬性([“formName”])訪問具體的表單。
  • 例子
let firstForm = document.forms[0]; // 獲取第一個表單
let loginForm = document.forms['loginForm']; // 獲取 name=“l(fā)oginForm” 的表單

9、document.images

  • 含義:返回包含當前文檔中所有 <img> 元素的集合(HTMLCollection)。
  • 詞源:Images(圖像,復數(shù))。
  • 語法let imageCollection = document.images;
  • 參數(shù)及說明:常用于遍歷所有圖片,統(tǒng)計數(shù)量或懶加載。
  • 例子
console.log(document.images.length); // 輸出頁面中圖片的總數(shù)
for (let img of document.images) {
    console.log(img.src);
}

10、document.links

  • 含義:返回包含當前文檔中所有帶有 href 屬性的 <a> 和 <area> 元素的集合。
  • 詞源:Links(鏈接,復數(shù))。
  • 語法let linkCollection = document.links;
  • 參數(shù)及說明:只包含有具體地址的鏈接錨點。
  • 例子
document.links[0].href = 'https://newsite.com'; // 修改第一個鏈接的地址

11、document.anchors

  • 含義:返回包含當前文檔中所有帶有 name 屬性的 <a> 元素的集合。
  • 詞源:Anchors(錨點,復數(shù))。
  • 參數(shù)及說明:在現(xiàn)代 HTML5 中,name 屬性在 <a> 上已不推薦使用,通常用 id 代替,因此這個集合在現(xiàn)代頁面中可能為空。
  • 例子
// 如果有一個 <a name=“section1”></a>
console.log(document.anchors[‘section1']); // 可以獲取到

12、document.scripts

  • 含義:返回包含當前文檔中所有 <script> 元素的集合。
  • 詞源:Scripts(腳本,復數(shù))。
  • 語法let scriptCollection = document.scripts;
  • 參數(shù)及說明:常用于動態(tài)分析頁面加載了哪些腳本。
  • 例子
console.log('頁面加載了 ' + document.scripts.length + ' 個 JS 文件');

第三部分:文檔結構與視圖 (13-17)

13、document.doctype

  • 含義:返回當前文檔的文檔類型聲明(Document Type Declaration,即 <!DOCTYPE html>)。
  • 詞源:Doc(Document 縮寫)+ Type(類型)。
  • 語法let doctype = document.doctype;
  • 參數(shù)及說明:返回一個 DocumentType 對象,如果沒有聲明則返回 null。
  • 例子
console.log(document.doctype.name); // 輸出:'html' (如果是 HTML5 標準)

14、document.documentElement

  • 含義:返回當前文檔的根元素,即 <html> 標簽。
  • 詞源:Document(文檔)+ Element(元素)。
  • 語法let htmlElement = document.documentElement;
  • 參數(shù)及說明:這是獲取整個 HTML 文檔根節(jié)點的標準方法。常用于獲取視口高度等。
  • 例子
let fullPageHeight = document.documentElement.scrollHeight; // 獲取整個文檔滾動高度

15、document.defaultView

  • 含義:返回當前文檔所關聯(lián)的 window 對象。
  • 詞源:Default(默認)+ View(視圖)。
  • 語法let win = document.defaultView;
  • 參數(shù)及說明:在瀏覽器中,這通常等價于 window 對象。在 iframe 中,可以用來獲取 iframe 內(nèi)部的全局對象。
  • 例子
let isChrome = document.defaultView.navigator.userAgent.includes('Chrome');

16、document.activeElement

  • 含義:返回當前文檔中獲得焦點(被選中、正在輸入)的元素。
  • 詞源:Active(活躍的)+ Element(元素)。
  • 語法let activeEl = document.activeElement;
  • 參數(shù)及說明:常用于表單驗證或 UI 狀態(tài)判斷。默認情況下,如果沒有任何焦點,body 元素可能被返回。
  • 例子
if (document.activeElement.id === 'username') {
    console.log('用戶正在輸入用戶名');
}

17、document.baseURI

  • 含義:返回文檔的絕對基礎 URL(只讀)。
  • 詞源:Base(基礎)+ URI(統(tǒng)一資源標識符)。
  • 語法let baseUri = document.baseURI;
  • 參數(shù)及說明:通常由頁面 URL 和 <base> 標簽決定。如果沒有 <base> 標簽,它等同于 document.URL。
  • 例子
// 如果頁面有 <base href=“https://example.com/newbase/”>
console.log(document.baseURI); // 輸出:'https://example.com/newbase/'

第四部分:編碼與狀態(tài) (18-20)

18、document.charset / 19、document.characterSet

  • 含義:返回文檔使用的字符編碼(如 “UTF-8”, “GB2312”)。
  • 詞源:Character Set(字符集)。
  • 語法let encoding = document.characterSet;
  • 參數(shù)及說明:這兩個屬性通常返回相同的值,characterSet 是標準屬性。
  • 例子
console.log(document.characterSet); // 輸出:'UTF-8'

20、document.readyState

  • 含義:返回當前文檔的加載狀態(tài)。
  • 詞源:Ready(準備就緒)+ State(狀態(tài))。
  • 語法let state = document.readyState;
  • 參數(shù)及說明:有三個可能的值:
    • loading:正在加載。
    • interactive:文檔解析完成,但圖片、樣式等仍在加載。
    • complete:文檔和所有子資源加載完成。
  • 例子
if (document.readyState === 'complete') {
    console.log('頁面完全加載好了');
}

第五部分:文件信息與遺留屬性 (21-29)

注意:fileCreatedDate, fileModifiedDate, fileSize 這些屬性是非標準的,主要出現(xiàn)在舊版 IE 中,現(xiàn)代瀏覽器不支持或返回空值。

21、document.lastModified

  • 含義:返回文檔最后修改的日期和時間字符串。
  • 詞源:Last(最后)+ Modified(修改)。
  • 語法let modDate = document.lastModified;
  • 參數(shù)及說明:返回字符串格式如 “12/25/2024 14:35:00”。
  • 例子
console.log('本頁面最后更新于:' + document.lastModified);

22、document.fileCreatedDate(非標準/IE)

  • 含義:在舊版 IE 中,嘗試返回文件的創(chuàng)建日期。
  • 詞源:File(文件)+ Created(創(chuàng)建)+ Date(日期)。
  • 語法let createDate = document.fileCreatedDate;
  • 說明:現(xiàn)代瀏覽器中無此屬性,會返回 undefined

23、document.fileModifiedDate(非標準/IE)

  • 含義:同 lastModified,舊版 IE 的另一別名。
  • 詞源:File(文件)+ Modified(修改)+ Date(日期)。

24、document.fileSize(非標準/IE)

  • 含義:在舊版 IE 中,返回文檔的大?。ㄗ止?jié)數(shù))。
  • 詞源:File(文件)+ Size(大?。?。

25、document.bgColor

  • 含義:獲取或設置文檔的背景顏色(已廢棄)。
  • 詞源:Background(背景)+ Color(顏色)。
  • 語法document.bgColor = “#FF0000”;
  • 說明:這是一個非常老的屬性,來自 DOM Level 0?,F(xiàn)在應使用 document.body.style.backgroundColor 代替。
  • 例子
document.bgColor = “yellow”; // 不推薦使用

26、document.fgColor

  • 含義:獲取或設置文檔的前景色(文本顏色,已廢棄)。
  • 詞源:Foreground(前景)+ Color(顏色)。
  • 語法document.fgColor = “black”;
  • 說明:現(xiàn)在應使用 CSS 的 color 屬性。

27、document.linkColor

  • 含義:獲取或設置文檔中未訪問鏈接的顏色(<a>, 已廢棄)。
  • 詞源:Link(鏈接)+ Color(顏色)。
  • 說明:對應 CSS 的 :link 偽類?,F(xiàn)在應使用 CSS 控制。

28、document.alinkColor

  • 含義:獲取或設置激活鏈接(鼠標按下瞬間)的顏色(已廢棄)。
  • 詞源:Active Link(激活的鏈接)+ Color(顏色)。
  • 說明:對應 CSS 的 :active 偽類。

29、document.vlinkColor

  • 含義:獲取或設置已訪問過鏈接的顏色(已廢棄)。
  • 詞源:Visited Link(已訪問鏈接)+ Color(顏色)。
  • 說明:對應 CSS 的 :visited 偽類。

第六部分:集合與擴展 (30-32)

30、document.all

  • 含義:返回一個包含文檔中所有 HTML 元素的集合(HTMLAllCollection)。
  • 詞源:All(所有)。
  • 語法let allElements = document.all;
  • 參數(shù)及說明:這是一個非標準但曾被廣泛支持的屬性(源自 IE)。現(xiàn)代瀏覽器為了兼容性保留了它,但建議使用 document.querySelectorAll('*') 代替。它是一個類數(shù)組對象,同時也是一個 falsy 值,常用于檢測瀏覽器是否為 IE。
  • 例子
// 獲取頁面上第 5 個元素
let element = document.all[4];
// 檢測 IE 的古老寫法(現(xiàn)在不推薦)
if (document.all) {
    // 如果是 IE
}

31、document.expando

  • 含義:一個舊版 IE 屬性,允許或禁止在 DOM 對象上擴展自定義屬性。
  • 詞源:Expando(擴展屬性,源自 “expand”)。
  • 語法document.expando = false;
  • 參數(shù)及說明:如果設置為 false,則不能給 DOM 元素添加自定義屬性?,F(xiàn)代瀏覽器無此限制。
  • 例子
// 在舊版 IE 中
document.expando = false;
document.body.myCustomProp = “test”; // 這將會失敗

32、document.location

  • 含義:返回一個 Location 對象,包含文檔 URL 的信息,并且可以用來導航。
  • 詞源:Location(位置)。
  • 語法
    • 獲取信息:let path = document.location.pathname;
    • 跳轉頁面:document.location.href = 'https://example.com'; 或 document.location.reload();
  • 參數(shù)及說明document.location 和 window.location 通常是同一個對象。它既是只讀的(直接讀取時返回字符串),但也可以通過賦值字符串進行跳轉。
  • 例子
console.log(document.location.hostname); // 輸出當前域名
// 3 秒后跳轉到百度
setTimeout(() => {
    document.location = 'https://www.baidu.com';
}, 3000);

第七部分:節(jié)點導航與關系屬性 (33-40)

33、document.firstChild

  • 含義:返回文檔節(jié)點的第一個子節(jié)點。
  • 詞源:First(第一個)+ Child(孩子)。
  • 語法let first = document.firstChild;
  • 參數(shù)及說明:對于 HTML 文檔,通常第一個子節(jié)點可能是 <!DOCTYPE> 聲明或空白文本節(jié)點(換行符)。返回的是 Node 類型,不一定是元素節(jié)點。
  • 例子
console.log(document.firstChild.nodeName); // 可能輸出 '#comment' 或 'html' 或 '#text'

34、document.lastChild

  • 含義:返回文檔節(jié)點的最后一個子節(jié)點。
  • 詞源:Last(最后一個)+ Child(孩子)。
  • 語法let last = document.lastChild;
  • 參數(shù)及說明:通常最后一個子節(jié)點是 <html> 元素。
  • 例子
console.log(document.lastChild.nodeName); // 通常輸出 'HTML'

35、document.childNodes

  • 含義:返回包含文檔節(jié)點所有子節(jié)點的 NodeList。
  • 詞源:Child(孩子)+ Nodes(節(jié)點,復數(shù))。
  • 語法let children = document.childNodes;
  • 參數(shù)及說明:這是一個類數(shù)組對象,包含文檔類型聲明和根元素。不會遞歸獲取所有后代節(jié)點,只獲取直接子節(jié)點。
  • 例子
for (let node of document.childNodes) {
    console.log(node.nodeType, node.nodeName); // 輸出:10 'html' 之類的信息
}

36、document.firstElementChild

  • 含義:返回文檔節(jié)點的第一個元素子節(jié)點(忽略文本和注釋)。
  • 詞源:First(第一個)+ Element(元素)+ Child(孩子)。
  • 語法let firstEl = document.firstElementChild;
  • 參數(shù)及說明:對于 HTML 文檔,這通常是 <html> 元素。只考慮元素節(jié)點,忽略空白和 DOCTYPE。
  • 例子
console.log(document.firstElementChild.tagName); // 輸出:'HTML'

37、document.lastElementChild

  • 含義:返回文檔節(jié)點的最后一個元素子節(jié)點。
  • 詞源:Last(最后一個)+ Element(元素)+ Child(孩子)。
  • 語法let lastEl = document.lastElementChild;
  • 說明:通常也是 <html> 元素,因為通常只有一個根元素。
  • 例子
console.log(document.lastElementChild === document.documentElement); // true

38、document.children

  • 含義:返回包含文檔節(jié)點所有元素子節(jié)點的 HTMLCollection。
  • 詞源:Children(孩子們,復數(shù))。
  • 語法let elementChildren = document.children;
  • 參數(shù)及說明:只包含元素節(jié)點,不包含 DOCTYPE 或文本節(jié)點。通常只有一個元素:<html>。
  • 例子
console.log(document.children.length); // 通常是 1
console.log(document.children[0].tagName); // 輸出:'HTML'

39、document.nodeName

  • 含義:返回文檔節(jié)點的名稱。
  • 詞源:Node(節(jié)點)+ Name(名稱)。
  • 語法let name = document.nodeName;
  • 參數(shù)及說明:對于 Document 節(jié)點,總是返回 “#document”
  • 例子
console.log(document.nodeName); // 輸出:'#document'

40、document.nodeType

  • 含義:返回文檔節(jié)點的類型編號。
  • 詞源:Node(節(jié)點)+ Type(類型)。
  • 語法let type = document.nodeType;
  • 參數(shù)及說明:Document 節(jié)點的類型是 9。
    • 1:元素節(jié)點
    • 3:文本節(jié)點
    • 8:注釋節(jié)點
    • 9:文檔節(jié)點
  • 例子
console.log(document.nodeType); // 輸出:9

第八部分:文檔事件與處理程序 (41-46)

41、document.onload

  • 含義:文檔加載完成時觸發(fā)的事件處理程序。
  • 詞源:On(當...時)+ Load(加載)。
  • 語法document.onload = function() { ... };
  • 參數(shù)及說明:通常更常用的是 window.onload 或 DOMContentLoadeddocument.onload 不如 window.onload 支持廣泛。
  • 例子
document.onload = function() {
    console.log('文檔加載完成');
};

42、document.onreadystatechange

  • 含義:當 document.readyState 屬性改變時觸發(fā)的事件。
  • 詞源:On(當...時)+ Ready(準備)+ State(狀態(tài))+ Change(改變)。
  • 語法document.onreadystatechange = function() { ... };
  • 參數(shù)及說明:可以用來監(jiān)聽文檔加載狀態(tài)的變化,從 loading 到 interactive 再到 complete
  • 例子
document.onreadystatechange = function() {
    if (document.readyState === 'interactive') {
        console.log('DOM 解析完成,但資源還在加載');
    }
    if (document.readyState === 'complete') {
        console.log('頁面完全加載完成');
    }
};

43、document.onscroll

  • 含義:當文檔滾動時觸發(fā)的事件處理程序。
  • 詞源:On(當...時)+ Scroll(滾動)。
  • 語法document.onscroll = function() { ... };
  • 參數(shù)及說明:也可以添加到 window 對象上。監(jiān)聽整個頁面的滾動事件。
  • 例子
document.onscroll = function() {
    console.log('滾動位置:' + window.scrollY);
};

44、document.onclick

  • 含義:當文檔被點擊時觸發(fā)的事件處理程序。
  • 詞源:On(當...時)+ Click(點擊)。
  • 語法document.onclick = function(event) { ... };
  • 參數(shù)及說明:事件對象包含點擊位置、目標元素等信息。
  • 例子
document.onclick = function(e) {
    console.log('點擊了:' + e.target.tagName);
    console.log('坐標:' + e.clientX + ', ' + e.clientY);
};

45、document.onkeydown

  • 含義:當鍵盤按鍵被按下時觸發(fā)的事件處理程序。
  • 詞源:On(當...時)+ Key(鍵)+ Down(向下/按下)。
  • 語法document.onkeydown = function(event) { ... };
  • 參數(shù)及說明:事件對象包含按下的鍵碼、是否按了 Ctrl 等信息。
  • 例子
document.onkeydown = function(e) {
    if (e.key === 'Escape') {
        console.log('按下了 ESC 鍵');
        closeModal(); // 假設有一個關閉彈窗的函數(shù)
    }
};

46、document.oncopy

  • 含義:當用戶復制文檔內(nèi)容時觸發(fā)的事件處理程序。
  • 詞源:On(當...時)+ Copy(復制)。
  • 語法document.oncopy = function(event) { ... };
  • 參數(shù)及說明:可以用于修改復制的內(nèi)容,或者阻止復制。
  • 例子
document.oncopy = function(e) {
    alert('內(nèi)容已復制!');
    // 修改復制的內(nèi)容
    e.clipboardData.setData('text/plain', '復制的內(nèi)容被修改了');
    e.preventDefault(); // 阻止默認復制行為
};

第九部分:文檔兼容性與視圖 (47-53)

47、document.compatMode

  • 含義:返回文檔的渲染模式,是怪異模式還是標準模式。
  • 詞源:Compat(兼容性)+ Mode(模式)。
  • 語法let mode = document.compatMode;
  • 參數(shù)及說明:返回兩個值之一:
    • 'CSS1Compat':標準模式(嚴格模式)
    • 'BackCompat':怪異模式(混雜模式,兼容舊瀏覽器)
  • 例子
if (document.compatMode === 'CSS1Compat') {
    console.log('標準模式渲染');
} else {
    console.log('怪異模式渲染');
}

48、document.documentURI

  • 含義:返回文檔的位置(URI)。
  • 詞源:Document(文檔)+ URI(統(tǒng)一資源標識符)。
  • 語法let uri = document.documentURI;
  • 參數(shù)及說明:和 document.URL 基本相同,但在某些 XML 文檔中可能行為略有不同。
  • 例子
console.log(document.documentURI); // 輸出當前 URL

49、document.inputEncoding

  • 含義:返回文檔的字符編碼(已廢棄)。
  • 詞源:Input(輸入)+ Encoding(編碼)。
  • 語法let encoding = document.inputEncoding;
  • 說明:已被 document.characterSet 取代。
  • 例子
// 現(xiàn)代瀏覽器請使用 document.characterSet
console.log(document.characterSet);

50、document.hidden

  • 含義:返回一個布爾值,表示頁面是否被隱藏(例如在后臺標簽頁中)。
  • 詞源:Hidden(隱藏的)。
  • 語法let isHidden = document.hidden;
  • 參數(shù)及說明:用于頁面可見性 API。如果頁面被隱藏返回 true,否則返回 false
  • 例子
document.addEventListener('visibilitychange', function() {
    if (document.hidden) {
        console.log('用戶切換到了其他標簽頁');
        pauseVideo(); // 暫停視頻播放
    } else {
        console.log('用戶回來了');
        playVideo(); // 恢復播放
    }
});

51、document.visibilityState

  • 含義:返回文檔的可見性狀態(tài)。
  • 詞源:Visibility(可見性)+ State(狀態(tài))。
  • 語法let state = document.visibilityState;
  • 參數(shù)及說明:可能的值:
    • 'visible':頁面在前臺標簽頁,窗口未最小化
    • 'hidden':頁面在后臺標簽頁或窗口最小化
    • 'prerender':頁面正在預渲染(不可見)
    • 'unloaded':頁面正在卸載
  • 例子
if (document.visibilityState === 'visible') {
    console.log('頁面可見,可以執(zhí)行動畫');
}

52、document.designMode

  • 含義:控制整個文檔是否可編輯。
  • 詞源:Design(設計)+ Mode(模式)。
  • 語法document.designMode = 'on'; 或 'off';
  • 參數(shù)及說明:設置為 'on' 可以讓整個頁面變成可編輯狀態(tài),類似富文本編輯器。
  • 例子
// 開啟整個頁面的編輯模式
document.designMode = 'on';
// 現(xiàn)在用戶可以直接在頁面上打字修改內(nèi)容

53、document.execCommand()

  • 含義:執(zhí)行命令操作可編輯區(qū)域的內(nèi)容(已廢棄,但仍可用)。
  • 詞源:Exec(執(zhí)行)+ Command(命令)。
  • 語法document.execCommand(command, showUI, value);
  • 參數(shù)及說明
    • command:命令名稱,如 'bold''italic'、'copy'、'paste'
    • showUI:是否顯示 UI,通常為 false
    • value:命令需要的值,如插入鏈接時的 URL。
  • 例子
// 將選中文本加粗(需要先開啟 designMode 或 contenteditable)
document.execCommand('bold', false, null);
// 復制選中的文本
document.execCommand('copy');
// 插入一個鏈接
document.execCommand('createLink', false, 'https://example.com');

第十部分:文檔集合與特殊屬性 (54-60)

54、document.styleSheets

  • 含義:返回包含文檔中所有樣式表對象的 StyleSheetList。
  • 詞源:Style(樣式)+ Sheets(工作表,復數(shù))。
  • 語法let sheets = document.styleSheets;
  • 參數(shù)及說明:可以訪問頁面中所有 CSS 樣式表(包括內(nèi)聯(lián)、外鏈)。
  • 例子
console.log('頁面有 ' + document.styleSheets.length + ' 個樣式表');
// 查看第一個樣式表的規(guī)則
let firstSheet = document.styleSheets[0];
console.log(firstSheet.cssRules); // 查看 CSS 規(guī)則

55、document.embeds

  • 含義:返回包含文檔中所有 <embed> 元素的集合。
  • 詞源:Embeds(嵌入元素,復數(shù))。
  • 語法let embeds = document.embeds;
  • 說明:類似于 document.plugins,用于訪問嵌入的對象。
  • 例子
let flashCount = document.embeds.length; // 頁面中 Flash 嵌入的數(shù)量

56、document.plugins

  • 含義document.embeds 的別名。
  • 詞源:Plugins(插件,復數(shù))。
  • 語法let plugins = document.plugins;
  • 說明:返回嵌入插件的集合。
  • 例子
console.log(document.plugins === document.embeds); // true

57、document.fonts

  • 含義:返回文檔的 FontFaceSet 對象。
  • 詞源:Fonts(字體,復數(shù))。
  • 語法let fonts = document.fonts;
  • 參數(shù)及說明:用于檢查字體加載狀態(tài),等待字體加載完成等。
  • 例子
document.fonts.ready.then(function() {
    console.log('所有字體加載完成');
    // 可以安全渲染文本了
});
console.log(document.fonts.status); // 字體加載狀態(tài)

58、document.cookieEnabled

  • 含義:返回一個布爾值,表示瀏覽器是否啟用了 cookie。
  • 詞源:Cookie + Enabled(啟用)。
  • 語法let enabled = document.cookieEnabled;
  • 說明:只讀屬性,用于檢測 Cookie 是否可用。
  • 例子
if (!document.cookieEnabled) {
    alert('請啟用 Cookie 以獲得完整體驗');
}

59、document.currentScript

  • 含義:返回當前正在執(zhí)行的 <script> 元素。
  • 詞源:Current(當前的)+ Script(腳本)。
  • 語法let script = document.currentScript;
  • 參數(shù)及說明:只能在腳本執(zhí)行期間使用,用于獲取當前腳本元素的信息。對于動態(tài)加載的腳本特別有用。
  • 例子
// 在 script.js 文件中
console.log(document.currentScript.src); // 輸出當前腳本的 URL
console.log(document.currentScript.getAttribute('data-config')); // 獲取自定義數(shù)據(jù)屬性

60、document.fullscreenElement

  • 含義:返回當前以全屏模式顯示的元素。
  • 詞源:Fullscreen(全屏)+ Element(元素)。
  • 語法let fullEl = document.fullscreenElement;
  • 參數(shù)及說明:如果沒有元素在全屏模式,返回 null。
  • 例子
function toggleFullscreen() {
    if (document.fullscreenElement) {
        document.exitFullscreen(); // 退出全屏
    } else {
        document.documentElement.requestFullscreen(); // 整個文檔全屏
    }
}

總 結 列 表

        下面對上面講解的JavaScript的 document 對象 60 個常見的屬性進行總結列表。

第一部分:文檔元數(shù)據(jù)與位置 (1-5)

屬性含義詞源語法參數(shù)及說明
1document.title獲取或設置當前文檔的標題。“title”意為標題。let docTitle = document.title;
document.title = "新標題";
無參數(shù)。作為 Getter 時返回字符串,作為 Setter 時需傳入新標題字符串。
2document.URL返回當前文檔的完整 URL 地址。“URL” 是 Uniform Resource Locator(統(tǒng)一資源定位符)的縮寫。let url = document.URL;只讀屬性,無參數(shù)。返回一個包含當前頁面 URL 的字符串。
3document.domain獲取或設置當前文檔的域名,用于同源策略下的跨子域通信。“domain”意為域名。let domain = document.domain;
document.domain = "example.com";
可作為 Getter/Setter。通常只能設置為當前域名的父域(例如從 "sub.example.com" 設為 "example.com")。
4document.referrer返回鏈接到當前頁面的前一頁面的 URL。“referrer”意為引薦人、來源頁面。let referringPage = document.referrer;只讀屬性。如果用戶直接訪問該頁面(如通過書簽),則返回空字符串。
5document.cookie獲取或設置與當前文檔相關聯(lián)的所有 HTTP cookie。“cookie”在此指網(wǎng)絡瀏覽器的數(shù)據(jù)存儲機制。let cookies = document.cookie;
document.cookie = "key=value; path=/";
讀取時返回包含所有 cookie 的字符串(以分號分隔)。寫入時需設置鍵值對及可選屬性(如 path、expires)。

第二部分:文檔元素集合 (6-12)

屬性含義詞源語法參數(shù)及說明
6document.body返回當前文檔的 <body> 元素。“body”指文檔的主體部分。let bodyEl = document.body;只讀屬性??梢灾苯硬僮髟撛?,例如設置背景色。
7document.head返回當前文檔的 <head> 元素。“head”指文檔的頭部區(qū)域。let headEl = document.head;只讀屬性。
8document.forms返回當前文檔中所有 <form> 元素的集合(HTMLCollection)。“forms”是 form 的復數(shù)形式。let formsCollection = document.forms;只讀屬性。返回一個類數(shù)組對象,可以通過索引或表單的 name/id 訪問。
9document.images返回當前文檔中所有 <img> 元素的集合(HTMLCollection)。“images”是 image 的復數(shù)形式。let imagesCollection = document.images;只讀屬性。
10document.links返回當前文檔中所有帶有 href 屬性的 <area> 元素和 <a> 元素的集合(HTMLCollection)。“links”是 link 的復數(shù)形式。let linksCollection = document.links;只讀屬性。
11document.anchors返回當前文檔中所有帶有 name 屬性的 <a> 元素的集合(HTMLCollection)。“anchors”是 anchor(錨點)的復數(shù)形式。let anchorsCollection = document.anchors;只讀屬性。注意:現(xiàn)代 HTML 中通常使用 id 屬性創(chuàng)建錨點,而非 name
12document.scripts返回當前文檔中所有 <script> 元素的集合(HTMLCollection)。“scripts”是 script 的復數(shù)形式。let scriptsCollection = document.scripts;只讀屬性。

第三部分:文檔結構與視圖 (13-17)

屬性含義詞源語法參數(shù)及說明
13document.doctype返回當前文檔關聯(lián)的文檔類型聲明(DTD)。“doctype”是 Document Type Declaration 的簡稱。let doctype = document.doctype;只讀屬性。返回一個 DocumentType 對象,如果沒有則返回 null
14document.documentElement返回文檔的根元素(對于 HTML 文檔,即 <html> 元素)。“documentElement”意為文檔元素。let rootEl = document.documentElement;只讀屬性。這是獲取根元素的標準方法。
15document.defaultView返回與當前文檔關聯(lián)的 window 對象。“defaultView”意為默認視圖。let win = document.defaultView;只讀屬性。在瀏覽器中,通常等同于 window。
16document.activeElement返回當前文檔中獲得焦點的元素。“activeElement”意為激活中的元素。let activeEl = document.activeElement;只讀屬性。如果沒有元素獲得焦點,則返回 <body> 元素或 null。
17document.baseURI返回文檔的絕對基礎 URI,通常用于解析相對路徑。“baseURI”是 Base Uniform Resource Identifier 的縮寫。let baseUri = document.baseURI;只讀屬性。通常由 <base> 標簽設置,否則默認為文檔地址。

第四部分:編碼與狀態(tài) (18-20)

屬性含義詞源語法參數(shù)及說明
18/19document.charset / document.characterSet返回文檔使用的字符編碼。“charset”是 Character Set 的縮寫。let encoding = document.characterSet;只讀屬性。charset 是 characterSet 的別名,推薦使用后者。
20document.readyState返回當前文檔的加載狀態(tài)。“readyState”意為就緒狀態(tài)。let state = document.readyState;只讀屬性。返回值有三種:loading(加載中)、interactive(DOM 解析完成)、complete(頁面完全加載)。

第五部分:文件信息與遺留屬性 (21-29)

屬性含義詞源語法參數(shù)及說明
21document.lastModified返回文檔最后被修改的日期和時間(字符串形式)。“lastModified”意為最后修改時間。let modified = document.lastModified;只讀屬性。返回一個字符串,格式因服務器而異。
22-24document.fileCreatedDate / fileModifiedDate / fileSize(非標準,僅舊版 IE)分別表示文件的創(chuàng)建日期、修改日期和大小。-不建議使用。在現(xiàn)代瀏覽器中無效。無。
25document.bgColor獲取或設置文檔的背景顏色。“bgColor”是 Background Color 的縮寫。document.bgColor = "red";已廢棄,應使用 CSS 的 document.body.style.backgroundColor 替代。
26document.fgColor獲取或設置文檔的前景色(文本顏色)。“fgColor”是 Foreground Color 的縮寫。document.fgColor = "black";已廢棄,應使用 CSS 替代。
27-29document.linkColor / alinkColor / vlinkColor分別設置或獲取鏈接、激活鏈接、已訪問鏈接的顏色。“link”鏈接,“a”指 anchor,“v”指 visited。document.linkColor = "blue";已廢棄,應使用 CSS 偽類(:link、:active:visited)替代。

第六部分:集合與擴展 (30-32)

屬性含義詞源語法參數(shù)及說明
30document.all返回一個包含文檔中所有元素的 HTMLAllCollection(非標準,僅 IE 支持)。“all”意為全部。let allEl = document.all;只讀屬性。非標準,不應在現(xiàn)代 Web 開發(fā)中使用。
31document.expando允許在 IE 中控制是否允許擴展文檔的屬性(非標準,僅 IE)。“expando”意為擴展屬性。document.expando = false;非標準,僅 IE。用于性能優(yōu)化,現(xiàn)已無用。
32document.location返回一個 Location 對象,包含文檔 URL 的信息,并可用來導航。“location”意為位置。let loc = document.location;
document.location.href = "newpage.html";
既是只讀屬性(返回對象),也是可寫屬性(賦值字符串可導航到新頁面)。與 window.location 基本相同。

第七部分:節(jié)點導航與關系屬性 (33-40)

屬性含義詞源語法參數(shù)及說明
33document.firstChild返回文檔的第一個子節(jié)點。“firstChild”意為第一個子節(jié)點。let first = document.firstChild;只讀屬性。注意:在 HTML 中,根節(jié)點 document 的第一個子節(jié)點通常是 <!DOCTYPE> 聲明,但可能因空白節(jié)點而異。
34document.lastChild返回文檔的最后一個子節(jié)點。“lastChild”意為最后一個子節(jié)點。let last = document.lastChild;只讀屬性。通常返回 <html> 元素。
35document.childNodes返回文檔所有子節(jié)點的 NodeList 集合。“childNodes”意為子節(jié)點們。let children = document.childNodes;只讀屬性。通常包含 doctype 和 html 元素。
36document.firstElementChild返回文檔的第一個子元素節(jié)點(忽略文本和注釋節(jié)點)。“firstElementChild”意為第一個元素子節(jié)點。let firstEl = document.firstElementChild;只讀屬性。對于 HTML 文檔,通常是 <html> 元素。
37document.lastElementChild返回文檔的最后一個子元素節(jié)點。“lastElementChild”意為最后一個元素子節(jié)點。let lastEl = document.lastElementChild;只讀屬性。通常也是 <html> 元素。
38document.children返回文檔所有子元素節(jié)點的 HTMLCollection 集合。“children”意為孩子們。let elChildren = document.children;只讀屬性。通常只包含 <html> 元素。
39document.nodeName返回文檔節(jié)點的名稱。“nodeName”意為節(jié)點名稱。let name = document.nodeName;只讀屬性。對于 Document 節(jié)點,總是返回 #document。
40document.nodeType返回文檔節(jié)點的類型。“nodeType”意為節(jié)點類型。let type = document.nodeType;只讀屬性。Document 節(jié)點的類型常量是 9。

第八部分:文檔事件與處理程序 (41-46)

屬性含義詞源語法參數(shù)及說明
41document.onload頁面加載完成時的事件處理程序(通常應使用 window.onload)。“onload”意為當加載時。document.onload = function() { ... };此事件通常在 <body> 或 <frameset> 上觸發(fā)。更推薦使用 window.addEventListener('load', ...)
42document.onreadystatechange當 document.readyState 屬性發(fā)生變化時觸發(fā)的事件處理程序。“onreadystatechange”意為當就緒狀態(tài)改變時。document.onreadystatechange = function() { ... };用于監(jiān)聽文檔加載過程。
43document.onscroll當文檔滾動條滾動時觸發(fā)的事件處理程序。“onscroll”意為當滾動時。document.onscroll = function() { ... };注意:滾動事件也可能發(fā)生在其他元素上。
44document.onclick當文檔被點擊時觸發(fā)的事件處理程序。“onclick”意為當點擊時。document.onclick = function(event) { ... };通過事件對象 event 可以獲取點擊位置、目標元素等。
45document.onkeydown當按鍵被按下時觸發(fā)的事件處理程序。“onkeydown”意為當鍵按下時。document.onkeydown = function(event) { ... };常用于實現(xiàn)鍵盤快捷鍵。
46document.oncopy當用戶復制元素內(nèi)容時觸發(fā)的事件處理程序。“oncopy”意為當復制時。document.oncopy = function(event) { ... };可以用于修改復制的內(nèi)容或阻止復制。

第九部分:文檔兼容性與視圖 (47-53)

屬性含義詞源語法參數(shù)及說明
47document.compatMode返回文檔的渲染模式是怪異模式還是標準模式。“compatMode”是 Compatibility Mode(兼容模式)的縮寫。let mode = document.compatMode;只讀屬性。返回 "CSS1Compat"(標準模式)或 "BackCompat"(怪異模式)。
48document.documentURI返回文檔的位置(URI)。“documentURI”是 Document Uniform Resource Identifier 的縮寫。let uri = document.documentURI;只讀屬性。與 document.URL 類似,但 documentURI 對所有文檔(包括 XML)都可用,且不可變。
49document.inputEncoding返回文檔的字符編碼。“inputEncoding”意為輸入編碼。let encoding = document.inputEncoding;只讀屬性。已廢棄,應使用 document.characterSet。
50document.hidden返回一個布爾值,表示頁面是否被認為隱藏。“hidden”意為隱藏的。let isHidden = document.hidden;只讀屬性。是 Page Visibility API 的一部分。
51document.visibilityState返回文檔的可見性狀態(tài)。“visibilityState”意為可見性狀態(tài)。let state = document.visibilityState;只讀屬性。返回值:'visible'(頁面可見)、'hidden'(頁面隱藏)、'prerender'(預渲染)。
52document.designMode控制整個文檔是否可編輯。“designMode”意為設計模式。document.designMode = "on";
document.designMode = "off";
設置為 "on" 時,整個文檔區(qū)域變?yōu)榭删庉嫚顟B(tài)(類似富文本編輯器)。
53document.execCommand()在可編輯內(nèi)容區(qū)域執(zhí)行一個命令(如加粗、創(chuàng)建鏈接)。“execCommand”意為執(zhí)行命令。document.execCommand('bold', false, null);參數(shù):命令名、是否顯示用戶界面(通常為 false)、命令所需的值。

第十部分:文檔集合與特殊屬性 (54-60)

屬性含義詞源語法參數(shù)及說明
54document.styleSheets返回一個包含所有顯式鏈接或嵌入到文檔中的樣式表對象的 StyleSheetList。“styleSheets”意為樣式表們。let sheets = document.styleSheets;只讀屬性??梢杂糜趧討B(tài)操作 CSS 規(guī)則。
55document.embeds返回當前文檔中所有 <embed> 元素的集合(HTMLCollection)。“embeds”是 embed 的復數(shù)形式。let embedsCollection = document.embeds;只讀屬性。用于獲取頁面中嵌入的插件內(nèi)容。
56document.plugins返回一個包含所有已安裝插件的 PluginArray。“plugins”是 plugin 的復數(shù)形式。let plugins = document.plugins;只讀屬性。通常用于檢測特定插件是否存在(如 Flash)。
57document.fonts返回文檔的 FontFaceSet 接口,用于檢測和加載字體。“fonts”意為字體們。let fontSet = document.fonts;只讀屬性。是 CSS Font Loading API 的一部分。
58document.cookieEnabled返回一個布爾值,指示瀏覽器是否啟用了 cookie。“cookieEnabled”意為 Cookie 已啟用。let enabled = document.cookieEnabled;只讀屬性。用于檢測用戶的 Cookie 設置。
59document.currentScript返回當前正在執(zhí)行的 <script> 元素。“currentScript”意為當前腳本。let curScript = document.currentScript;只讀屬性。對于內(nèi)聯(lián)腳本和外部腳本都有效,用于獲取腳本自身的元數(shù)據(jù)。
60document.fullscreenElement返回當前正在以全屏模式顯示的元素。“fullscreenElement”意為全屏元素。let fsEl = document.fullscreenElement;只讀屬性。如果沒有元素處于全屏狀態(tài),則返回 null。

到此這篇關于JavaScript中Document對象常見的的屬性分析的文章就介紹到這了,更多相關js document對象屬性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

聂拉木县| 三台县| 嫩江县| 霍州市| 辽宁省| 静安区| 电白县| 高阳县| 邛崃市| 辽阳市| 荆门市| 宣武区| 奉贤区| 夏津县| 平乐县| 昌都县| 疏勒县| 昌图县| 迭部县| 佛学| 卓资县| 项城市| 赤水市| 白银市| 固阳县| 化德县| 罗甸县| 静海县| 广水市| 沅陵县| 新兴县| 西峡县| 泗水县| 鄂托克前旗| 保靖县| 方山县| 阳西县| 枣庄市| 通化市| 图木舒克市| 滦平县|