Skip to main content

jQuery 介紹

jQuery 是一個快速、輕量且功能強大的 JavaScript 函式庫,旨在簡化前端開發中的常見任務。它於 2006 年由 John Resig 創建,至今仍是許多前端工程師的常用工具。jQuery 的核心理念是「用更少的程式碼做更多的事」("Write less, do more"),特別適合像你這樣希望快速上手的前端工程師。

jQuery 的主要功能與用途

jQuery 主要用來簡化以下幾個方面的前端開發工作:

  1. DOM 操作 jQuery 提供了簡單的語法來選擇、操作和修改 HTML 元素(DOM)。例如,你可以用一行程式碼選取元素、改變樣式或添加事件。相較於原生 JavaScript,jQuery 的語法更直觀,減少了繁瑣的程式碼。

    範例:選擇所有 <p> 標籤並改變文字顏色

    // 使用 jQuery
    $('p').css('color', 'blue');

    對比原生 JavaScript:

    // 使用原生 JavaScript
    let paragraphs = document.getElementsByTagName('p');
    for (let i = 0; i < paragraphs.length; i++) {
    paragraphs[i].style.color = 'blue';
    }

    jQuery 的 $ 符號是它的核心,搭配選擇器(類似 CSS 選擇器)可以快速選取 DOM 元素,像是 $('#id')(選 ID)、$('.class')(選類別)或 $('p')(選標籤)。

  2. 事件處理 jQuery 簡化了事件綁定(例如點擊、滑鼠懸停、鍵盤輸入等),讓你可以用簡單的語法為元素添加互動功能。

    範例:為按鈕添加點擊事件

    $('#myButton').click(function() {
    alert('按鈕被點擊了!');
    });

    這段程式碼表示當 ID 為 myButton 的按鈕被點擊時,會彈出一個提示框。相較於原生 JavaScript,jQuery 的事件處理更簡潔,且支援多種事件類型,如 hover、focus、change 等。

  3. AJAX 請求 jQuery 讓非同步請求(AJAX)變得簡單,你可以輕鬆從伺服器獲取資料(例如 JSON 或 HTML),無需重新整理頁面。這對於動態更新網頁內容非常有用。

    範例:從伺服器取得資料並顯示

    $.ajax({
    url: 'https://api.example.com/data',
    method: 'GET',
    success: function(data) {
    $('#result').html(data.message);
    },
    error: function() {
    alert('請求失敗!');
    }
    });

    這段程式碼發送一個 GET 請求到指定 URL,並在成功時將回傳的資料顯示在 ID 為 result 的元素中。jQuery 的 AJAX 方法讓你無需處理底層的 XMLHttpRequest 細節。

  4. 動畫與效果 jQuery 內建了簡單的動畫功能,讓你輕鬆為網頁元素添加淡入淡出、滑動或自訂動畫效果。

    範例:讓元素淡入

    $('#myDiv').fadeIn('slow');

    這會讓 ID 為 myDiv 的元素以緩慢的速度淡入顯示。其他常見效果包括 fadeOut、slideUp、slideDown 等。

  5. 跨瀏覽器相容性 jQuery 解決了早期不同瀏覽器(如 IE、Firefox、Chrome)對 JavaScript 和 DOM 操作的相容性問題。它封裝了這些差異,讓你寫的程式碼能在多數瀏覽器上正常運行,無需額外處理。

jQuery 的優點

  • 簡單易學:語法直觀,特別適合程式語言能力較弱的初學者。

  • 減少程式碼量:用簡短的程式碼實現複雜功能。

  • 強大的選擇器:支援 CSS 選擇器,讓 DOM 操作更直觀。

  • 豐富的插件生態:jQuery 有許多插件(如 jQuery UI、DataTables),可以快速擴展功能。

  • 廣泛應用:許多舊專案和網站仍在使用 jQuery,學會它有助於維護這些專案。

jQuery 的限制

  • 效能:相較於現代框架(如 React 或 Vue),jQuery 的效能較低,特別是大規模應用。

  • 現代替代品:隨著原生 JavaScript 和新框架的進步,許多 jQuery 的功能已被取代(例如 fetch 取代 AJAX、querySelector 取代選擇器)。

  • 學習建議:雖然 jQuery 對初學者友善,但建議同時學習原生 JavaScript 和現代框架,以適應當前前端開發趨勢。

常見使用場景

  • 快速原型開發:快速製作互動網頁或簡單應用。

  • 維護舊專案:許多舊網站使用 jQuery,學會它有助於修改和維護。

  • 簡單動畫與效果:為網頁添加基本的動態效果。

  • 跨瀏覽器支援:確保網頁在舊版瀏覽器中正常運行。

程式碼結構與風格

jQuery 的程式碼通常以 $ 開頭,後接選擇器或方法。以下是一個完整的範例,展示 jQuery 的常見用法:

$(document).ready(function() {
// 當頁面載入完成後執行
$('#myButton').click(function() {
// 點擊按鈕時執行動畫
$('#myDiv').slideToggle('slow', function() {
// 動畫完成後顯示訊息
$('#result').text('動畫完成!');
});
});

// 發送 AJAX 請求
$('#loadData').click(function() {
$.ajax({
url: 'https://api.example.com/data',
method: 'GET',
success: function(data) {
$('#result').html('資料:' + data.message);
},
error: function() {
$('#result').html('載入失敗,請稍後再試。');
}
});
});
});

這段程式碼展示了:

  • 使用 $(document).ready 確保程式碼在頁面載入完成後執行。

  • 為按鈕綁定點擊事件,觸發滑動動畫。

  • 發送 AJAX 請求並更新頁面內容。

總結

jQuery 是一個強大且易於上手的 JavaScript 函式庫,特別適合初學者或需要快速開發的前端工程師。它簡化了 DOM 操作、事件處理、AJAX 和動畫等任務,讓你可以用更少的程式碼實現豐富的功能。雖然在現代前端開發中,React、Vue 等框架更流行,但 jQuery 仍然在許多專案中有其價值,特別是維護舊系統或快速製作簡單互動效果時。