初學者指南:掌握 jQuery DOM 操作技巧

更新日期: 2025 年 3 月 9 日

在網頁開發中,DOM (Document Object Model, 文件物件模型) 是網頁的結構化表示。

它將 HTML 文件中的元素以節點 (Node) 的形式組織起來,讓開發者可以通過程式碼動態地訪問和操作這些元素。

jQuery 作為一個流行的 JavaScript 庫,提供了豐富且便捷的 DOM 操作 方法,讓我們能夠輕鬆地修改頁面內容、樣式以及結構,從而實現更加動態和互動的網頁效果。

本篇文章將為初學者詳細介紹 jQuery 中的各種 DOM 操作方法,包括如何選取元素、修改內容、變更樣式、操作屬性、動態新增和刪除元素等,並提供實用的示例代碼,幫助你快速掌握這項技術。


什麼是 DOM?

DOM (Document Object Model) 是瀏覽器用於解析 HTML 和 XML 文件的結構化模型。

它將頁面中的每個元素(如標籤、屬性、文本)表示為對象 (Object),並以樹狀結構組織,方便程式碼訪問和修改。例如,以下簡單的 HTML 結構:

<div id="container">
    <p class="text">Hello, World!</p>
</div>

在 DOM 中將表示為:

Document
 └─ <div id="container">
       └─ <p class="text">Hello, World!</p>

jQuery 幫助我們輕鬆地選取、修改和操作這些 DOM 元素,從而實現豐富的動態效果。

延伸閱讀:HTML DOM 破解:新手完全指南,帶你深入理解網頁結構


jQuery 中的 DOM 選取

在進行 DOM 操作之前,第一步是選取要操作的元素。

在 jQuery 中,我們可以通過多種選擇器快速選取 DOM 元素,例如:

// 通過 ID 選取元素
$("#container")

// 通過類別選取元素
$(".text")

// 選取所有 <p> 元素
$("p")

// 選取特定屬性的元素
$("input[type='text']")

操作元素內容

修改文本內容 .text()

.text() 用於讀取或修改元素中的純文本內容:

<p id="greeting">Hello, World!</p>
<button id="changeText">改變文字</button>

<script>
    // 獲取文本內容
    var text = $("#greeting").text();
    console.log(text); // 輸出 "Hello, World!"

    // 修改文本內容
    $("#changeText").click(function() {
        $("#greeting").text("Hello, jQuery!");
    });
</script>

修改 HTML 內容 .html()

.html().text() 類似,但它可以處理 HTML 標籤

<div id="content">這是一段<strong>加粗</strong>的文本。</div>
<button id="changeHtml">改變 HTML</button>

<script>
    $("#changeHtml").click(function() {
        $("#content").html('<p style="color:red;">新內容已更新!</p>');
    });
</script>

操作表單值 .val()

.val() 用於讀取或設置 表單元素(如 <input><select>)的值:

<input type="text" id="name" placeholder="輸入你的名字">
<button id="getName">顯示名字</button>

<script>
    $("#getName").click(function() {
        var name = $("#name").val(); // 獲取輸入框的值
        alert("你的名字是: " + name);
        
        $("#name").val("預設值"); // 設置新的值
    });
</script>

操作元素屬性

取得和設置屬性 .attr()

.attr() 方法可用於讀取或設置元素的屬性 (Attribute):

<img id="myImage" src="image1.jpg" alt="圖片描述">
<button id="changeAttr">更換圖片</button>

<script>
    // 獲取屬性值
    var src = $("#myImage").attr("src");
    console.log(src); // 輸出 "image1.jpg"

    // 設置新的屬性值
    $("#changeAttr").click(function() {
        $("#myImage").attr("src", "image2.jpg").attr("alt", "新圖片描述");
    });
</script>

刪除屬性 .removeAttr()

<input type="text" id="myInput" disabled>
<button id="enableInput">啟用輸入框</button>

<script>
    $("#enableInput").click(function() {
        $("#myInput").removeAttr("disabled");
    });
</script>

操作樣式 (CSS)

設置樣式 .css()

<div id="box" style="width:100px; height:100px; background-color:blue;"></div>
<button id="changeColor">變更顏色</button>

<script>
    $("#changeColor").click(function() {
        $("#box").css({
            "background-color": "red",
            "border": "2px solid black"
        });
    });
</script>

操作類別 .addClass() .removeClass() .toggleClass()

<div id="message" class="info">這是一條訊息。</div>
<button id="changeClass">切換類別</button>

<script>
    $("#changeClass").click(function() {
        $("#message").toggleClass("highlight");
    });
</script>

<style>
    .highlight {
        color: white;
        background-color: green;
    }
</style>

操作 DOM 結構

動態新增元素

$("#parent").append("<p>這是一個新增的段落。</p>"); // 新增到內部結尾
$("#parent").prepend("<p>這是一個新增的段落。</p>"); // 新增到內部開頭
$("#target").before("<p>這是目標元素之前的段落。</p>"); // 在元素之前新增
$("#target").after("<p>這是目標元素之後的段落。</p>"); // 在元素之後新增

刪除元素 .remove().empty()

$("#element").remove(); // 刪除整個元素 (含子元素)
$("#container").empty(); // 清空元素中的子元素

複製元素 .clone()

var copy = $("#element").clone();
$("#container").append(copy);

結語

jQuery 提供了強大且簡便的 DOM 操作方法,讓開發者可以靈活地動態修改頁面內容、樣式和結構。

對於初學者而言,熟練掌握這些方法,能大大提升你的前端開發效率。

建議多多練習,並將這些技術應用於實際項目中,讓你的網站變得更加生動、互動性更強!

Similar Posts

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *