jQuery 背後的故事 or 為什麼需要 jQuery
- jQuery 操作文件內容的根基是瀏覽器的 DOM(Document Object Model)功能。這個功能可以追溯到早期的 Netscape 和 IE,從所謂的 DHTML 一路變成今天的 DOM。
DOM 做的事情就是「把 HTML 文件用樹狀的方式操作」,因此可以動態變化網頁內容。
但使用 DOM 操作文件,會有程式碼冗長且有瀏覽器相容的問題(尤其是 IE)。 - jQuery 操作 AJAX 用的是 XMLHttpRequest,這是 IE 開始推廣的神奇技術,現在已經廣泛內建在各種瀏覽器裡。但也是有瀏覽器實現相關的問題 Orz
DOM 上:
- 解決了絕大部分瀏覽器在 DOM 操作/事件處理下的 Bug
- 寫了一個神奇的 Selector 解析器叫 Sizzle,可以把大部分的 CSS Selector 轉譯成對應的 DOM Tree 元素
- 以 jQuery Object 把對應的 DOM Tree 包裝起來,所以可以進行 Chaining
- 以神妙的方式對事件處理做了很大的擴充(bind() 和 live())
- 可以用神妙的 .data() 在一個 DOM Tree 中加註資訊
就這樣吧,應該有地方有錯,歡迎大家指責 XD