理解歷史脈絡
jQuery 幾乎定義了 AJAX / Web 2.0 時代的前端開發習慣,是 JavaScript 演進史的重要一段。
在 React、Vue 與現代框架普及之前,很多互動網頁、後台管理介面、CMS 外掛與舊型商業網站, 幾乎都靠 jQuery 來處理 DOM、事件、動畫與 AJAX。理解它,不只是學一個舊工具,更是在理解 Web 前端曾經怎麼解決真實問題。
jQuery 幾乎定義了 AJAX / Web 2.0 時代的前端開發習慣,是 JavaScript 演進史的重要一段。
許多舊網站、CMS 模板、教學範例與企業內部系統,現在仍然大量使用 jQuery。
jQuery 幫你把 DOM、事件與 AJAX 包裝成較短語法,能幫助你理解 library 在幫你省什麼工。
| 能力 | jQuery 幫你簡化什麼 | 典型寫法 |
|---|---|---|
| 選取元素 | 用類似 CSS selector 的方式快速找到 DOM 節點 | $(".card") |
| 事件處理 | 用簡短語法綁定 click、input、submit 等事件 | $("#btn").on("click", ...) |
| 樣式 / class 操作 | 快速切換 class、顯示 / 隱藏、做簡單動畫 | addClass()、toggleClass() |
| AJAX | 簡化非同步請求與回應處理 | $.ajax()、$.get() |
| 鏈式寫法 | 讓多個操作可以串在一起 | $(...).addClass(...).text(...) |
$() 是入口,鏈式寫法是特色$()你通常會先用 $() 找到元素,再對它做文字、樣式、事件或動畫操作。
$("#message")
$(".menu-item")
$(document)
jQuery 常把多個動作串成一行,這也是它當年讓人覺得很順手的原因之一。
$("#status")
.addClass("is-ready")
.text("載入完成")
.show();
| 任務 | 原生 JavaScript | jQuery |
|---|---|---|
| 選取單一元素 | document.querySelector("#title") |
$("#title") |
| 綁定 click 事件 | button.addEventListener("click", handler) |
$("#btn").on("click", handler) |
| 改變文字 | el.textContent = "Hello" |
$("#msg").text("Hello") |
| 發送 AJAX | fetch("/api/status") |
$.get("/api/status") |
這個例子最能看出 jQuery 和第 05 章原生 DOM 寫法的差異:語法更短、操作集中。
<button id="hello-btn">點我</button>
<p id="message" class="message">尚未互動</p>
<script>
$("#hello-btn").on("click", function () {
$("#message")
.text("按鈕已被點擊,jQuery 已更新內容。")
.addClass("is-highlight");
});
</script>
按鈕已被點擊,jQuery 已更新內容。
$("#hello-btn") 代表用 selector 找到按鈕。.on("click", ...) 用來綁定事件。.text() 和 .addClass() 可直接接在同一串鏈式語法後面。很多舊型互動元件、摺疊面板與後台 UI 都很常看到這類寫法。
$("#toggle-help").on("click", function () {
$("#help-box").toggleClass("is-open");
$("#help-box").slideToggle();
});
toggleClass() 常用來切換狀態樣式。slideToggle() 是 jQuery 經典動畫方法之一。$.ajax() 呼叫 API在 fetch() 普及前,很多非同步請求就是靠 $.ajax() 來完成。
$.ajax({
url: "/api/status",
method: "GET",
dataType: "json",
success: function (data) {
$("#status").text(data.message);
},
error: function () {
$("#status").text("讀取失敗");
}
});
服務狀態:ok,資料已載入。
{
"message": "服務狀態:ok,資料已載入。"
}
$.ajax() 可以明確指定網址、方法、資料格式與成功 / 失敗處理。fetch() 或 Axios,但讀懂舊寫法仍然很有價值;若要補上通用原理,可再讀第 10 章。企業內部系統、舊型活動網站、CMS 模板或長年未重構的管理後台。
許多舊文章、舊版 Bootstrap 周邊範例與 jQuery plugin 仍然能在網路上找到。
jQuery 是理解「library 幫你包裝原生能力」最經典的入門案例之一。
| 面向 | jQuery 的優勢 | 今天的限制 |
|---|---|---|
| DOM 操作 | 語法短、跨瀏覽器差異處理成熟 | 現代原生 DOM API 已經強很多 |
| AJAX | 在早期非常方便 | 現在 fetch()、Axios 更常見 |
| 大型應用 | 適合小型互動與逐步加料 | 不擅長像現代框架那樣管理複雜狀態與元件化 |
$.ajax() 放回一般原理,可再接著讀第 10 章。