※ 認識DOM(二)

閱讀時間約 1 分鐘

※ Javascript和HTML的關係

當我們輸入新的網址或按下重新整理時,從解析檔案到畫面顯示出來,瀏覽器會進行以下流程:

  • 解析 HTML / CSS 檔案,建立物件模型:
  1. HTML → DOM (Document Object Model)。
  2. CSS → CSSOM (CSS Object Model)。
  • 將 DOM 和 CSSOM 合併為 Render Tree,準備開始運算。
  • 計算每個元素的畫面位置,產生 Layout。
  • 繪製畫面細節 (Paint)。

結論:JavaScript 為 HTML 提供動態功能和互動效果。透過操作 DOM,JavaScript 可以來讀取、添加、修改或刪除 HTML 元素和屬性。JavaScript 使得 HTML 頁面不僅僅是靜態的訊息展示,而是變成了一個動態、可回應用戶操作的動態頁面。

※ Javascript和DOM API的關係

raw-image

DOM 和 CSSOM 就是瀏覽器開放給 JavaScript 的 API,目的是為了要讓 JavaScript 去操作網頁元素。

重點整理:

  • HTML 被瀏覽器解析之後,變成一叫做 DOM 的結構。
  • JavaScript 可以修改 DOM 結構中任意節點。
  • 我們實際在視窗裡看到的結果,是 JavaScript 操作以後的結果。

※ 順序很重要:先載入 HTML,再載入 JavaScript

raw-image

說明:

  • JavaScript 檔案執行中可能會阻塞網頁的渲染。將 <script> 放在底部,可以讓網頁的主要內容先渲染出來,加快渲染速度。
  • 為了避免操作未就緒的 DOM 元素造成錯誤,因此放在底部可以保證腳本運行時 DOM 已完全建立。
  • 最後再去讀取 JavaScript 來修改 DOM。



    全端網頁開發專業知識分享
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    ※ DOM是什麼? DOM 全名為 Document Object Model 中文翻譯為 文件物件模型,就是把一份 HTML 文件內的各個標籤,包括文字、圖片等等都定義成物件,而這些物件最終會形成一個樹狀結構。 就 Document Object Model 這個名字來說,其中 documen
    ※ 非同步概念總複習 為什麼要使用 Promise? 在 JavaScript 開發中,處理非同步操作是常見需求,涉及如文件讀寫、數據庫查詢或網路請求等耗時任務。傳統的回調方式可能導致代碼結構混亂,稱為「回調地獄」,難以維護和理解。 Promise 是解決這問題的方法。它是一個物件(objec
    認識 async/await基本概念: async 的本質是 promise 的語法糖 ,只要 function 標記為 async,就表示裡頭可以撰寫 await 的同步語法,而 await 顧名思義就是「等待」,它會確保一個 promise 物件都解決 ( resolve ) 或出錯 ( re
    什麼是 Promise.all? 在有多個 Promise 的時候,使用 Promise.all 可以確保「所有的 Promise 都執行完以後,才進入 then」。 Promise.all 語法結構: Promise.all 接受的參數是陣列形式。 什麼時候要使用 Promise.all?
    ※ Promise基本介紹 什麼是 Promise? Promise 是 JavaScript 的一個構造函式,用於創建表示非同步操作的物件實例。使用 new Promise() 時,你會創建一個包含非同步操作的實例,這個實例可以透過其繼承的方法如 then(), catch(), 和 fina
    ※ 同步概念: 單純地「由上而下」執行程式碼,而且一次只執行一件事,也就是「按順序執行,一個動作結束才能切換到下一個」。缺點是你需要「等待」事情執行完畢,才能繼續往下走。 ※ 非同步概念: 盡可能讓主要的執行程序不需要停下來等待,若遇到要等待的事情,就發起一個「非同步處理」,讓主程序繼續執行,
    ※ DOM是什麼? DOM 全名為 Document Object Model 中文翻譯為 文件物件模型,就是把一份 HTML 文件內的各個標籤,包括文字、圖片等等都定義成物件,而這些物件最終會形成一個樹狀結構。 就 Document Object Model 這個名字來說,其中 documen
    ※ 非同步概念總複習 為什麼要使用 Promise? 在 JavaScript 開發中,處理非同步操作是常見需求,涉及如文件讀寫、數據庫查詢或網路請求等耗時任務。傳統的回調方式可能導致代碼結構混亂,稱為「回調地獄」,難以維護和理解。 Promise 是解決這問題的方法。它是一個物件(objec
    認識 async/await基本概念: async 的本質是 promise 的語法糖 ,只要 function 標記為 async,就表示裡頭可以撰寫 await 的同步語法,而 await 顧名思義就是「等待」,它會確保一個 promise 物件都解決 ( resolve ) 或出錯 ( re
    什麼是 Promise.all? 在有多個 Promise 的時候,使用 Promise.all 可以確保「所有的 Promise 都執行完以後,才進入 then」。 Promise.all 語法結構: Promise.all 接受的參數是陣列形式。 什麼時候要使用 Promise.all?
    ※ Promise基本介紹 什麼是 Promise? Promise 是 JavaScript 的一個構造函式,用於創建表示非同步操作的物件實例。使用 new Promise() 時,你會創建一個包含非同步操作的實例,這個實例可以透過其繼承的方法如 then(), catch(), 和 fina
    ※ 同步概念: 單純地「由上而下」執行程式碼,而且一次只執行一件事,也就是「按順序執行,一個動作結束才能切換到下一個」。缺點是你需要「等待」事情執行完畢,才能繼續往下走。 ※ 非同步概念: 盡可能讓主要的執行程序不需要停下來等待,若遇到要等待的事情,就發起一個「非同步處理」,讓主程序繼續執行,
    你可能也想看
    Google News 追蹤
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
    Thumbnail
    Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
    Thumbnail
    在南管之鄉、在南管世家成長的王心心說,她睜眼、閉眼間,盡是悠悠南管在耳邊響起。
    Thumbnail
    托凱 (Tokaj) 產區位於匈牙利的東北方和斯洛伐克 (Slovakia) 的交界處,喀爾巴阡山脈 (Carpathian Mountains) 的山腳下,是世界最為知名的貴腐甜白酒產區之一,這邊產的葡萄酒稱為托卡伊 (Tokaji)。不過近年來,晚摘酒和不甜的酒款也越來越受到歡迎。
    Thumbnail
    加州大部分的葡萄酒都產自位於內陸的農業經濟重心的中央谷地,土壤肥沃,透過引水灌溉來提高產量。比較優質的葡萄酒則大多來自於加州沿岸,因為受到洋流的影響,氣候比較冷涼,需要花比較多的心思照顧葡萄園。加州主要的葡萄園可以畫分成五個區域,大部分的 AVA 來自於其中的三個區域:北海岸、中部海岸,與中央谷地。
    Thumbnail
    【起司很有事】專題近期開設一的新的欄目:〔起司美味〕這個單元,是介紹一些餐廳起司入菜的菜品,藉由他們創意美味,認識一款起司,大家也可嘗試他們的作品認識一款起司另一種風味。 起司加握壽司等於毛球?這是什麼鬼呀?
    Thumbnail
    最近台灣正值一波「呼吸道融合病毒」的大流行,有不少兩歲以下的孩童感染了呼吸道融合病毒,而染上急性細支氣管炎而必須住院治療,嚴重一點的孩童甚至喘到需要住到加護病房,接受呼吸器的支持。今天要為大家簡介急性細支氣管的症狀、嚴重度的區分及相應的治療方法,並告訴家長如何避免孩童得到急性細支氣管炎......
    Thumbnail
    「Is it just me, or is it getting crazier out there?」—《JOKER》 小丑在笑,不代表開心;莫梭沒哭,不代表無情,但因為不符合社會期待,被視作異類。然而,透過卡繆的筆,我們可以窺探莫梭的內心,得以比較出外在世界多麽荒謬。
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
    Thumbnail
    Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
    Thumbnail
    在南管之鄉、在南管世家成長的王心心說,她睜眼、閉眼間,盡是悠悠南管在耳邊響起。
    Thumbnail
    托凱 (Tokaj) 產區位於匈牙利的東北方和斯洛伐克 (Slovakia) 的交界處,喀爾巴阡山脈 (Carpathian Mountains) 的山腳下,是世界最為知名的貴腐甜白酒產區之一,這邊產的葡萄酒稱為托卡伊 (Tokaji)。不過近年來,晚摘酒和不甜的酒款也越來越受到歡迎。
    Thumbnail
    加州大部分的葡萄酒都產自位於內陸的農業經濟重心的中央谷地,土壤肥沃,透過引水灌溉來提高產量。比較優質的葡萄酒則大多來自於加州沿岸,因為受到洋流的影響,氣候比較冷涼,需要花比較多的心思照顧葡萄園。加州主要的葡萄園可以畫分成五個區域,大部分的 AVA 來自於其中的三個區域:北海岸、中部海岸,與中央谷地。
    Thumbnail
    【起司很有事】專題近期開設一的新的欄目:〔起司美味〕這個單元,是介紹一些餐廳起司入菜的菜品,藉由他們創意美味,認識一款起司,大家也可嘗試他們的作品認識一款起司另一種風味。 起司加握壽司等於毛球?這是什麼鬼呀?
    Thumbnail
    最近台灣正值一波「呼吸道融合病毒」的大流行,有不少兩歲以下的孩童感染了呼吸道融合病毒,而染上急性細支氣管炎而必須住院治療,嚴重一點的孩童甚至喘到需要住到加護病房,接受呼吸器的支持。今天要為大家簡介急性細支氣管的症狀、嚴重度的區分及相應的治療方法,並告訴家長如何避免孩童得到急性細支氣管炎......
    Thumbnail
    「Is it just me, or is it getting crazier out there?」—《JOKER》 小丑在笑,不代表開心;莫梭沒哭,不代表無情,但因為不符合社會期待,被視作異類。然而,透過卡繆的筆,我們可以窺探莫梭的內心,得以比較出外在世界多麽荒謬。