了解 jQuery 中 $().each(function(){}) 與 $.each() 的差異

了解 jQuery 中 $().each(function(){}) 與 $.each() 的差異

FacebookLinkedInTweet更新日期: 2025 年 3 月 9 日

本文為 jQuery 基本介紹系列文,第 7 篇:

如何使用jQuery CDN 建立互動網頁

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

初學者指南:深入了解 jQuery 選擇器

使用jQuery 刪除第一個子元素的實作教學

初學者指南:深入了解 jQuery 事件處理

如何在jQuery 中使用事件監聽器addEventListener

了解jQuery 中$().each(function(){}) 與$.each() 的差異 👈進度

jQuery 與fetch 的非同步請求方法介紹

初學者指南:掌握 jQuery 動畫效果

初學者指南:深入了解 jQuery 中的 this 關鍵字

初學者指南:深入了解 jQuery .offset() 方法

在 jQuery 中,迴圈是非常常見的操作,特別是在處理陣列或物件資料時。

我們可以使用 $().each(function(){}) 和 $.each() 這兩種方式來遍歷元素或資料結構,但它們有一些不同的適用情境和功能。

本文將詳細介紹這兩者的差異,以及應用情境和用法。

$().each(function(){}) 方法

$().each() 是 jQuery 用於遍歷選取的 DOM 元素集合的方法。

它會遍歷 jQuery 所選取的元素集,並針對每個元素執行一次指定的函數。

用法

$('.items').each(function(index, element) {

console.log('第' + index + '個元素:', element);

});

參數說明

index:當前元素在選取集合中的索引。

element:當前 DOM 元素的原生物件,可以用 $(element) 將其轉換為 jQuery 物件來使用 jQuery 方法。

適用情境

$().each() 通常用於需要遍歷網頁上的一組特定元素的情境。

例如,想要為網頁中所有 .items 類別的元素設置樣式、文字內容或監聽事件時,可以使用 $().each() 來進行批量操作。

範例

以下範例會對頁面上的每個 .items 元素加上藍色邊框:

$('.items').each(function(index, element) {

$(element).css('border', '1px solid blue');

});

在這裡,$('.items') 是選取所有 .items 類別的元素,並在 .each() 的回呼函數中為每個元素設置 CSS 樣式。

$.each() 方法

$.each() 是 jQuery 提供的通用迴圈方法,用來遍歷 陣列或物件 的項目。

與 $().each() 不同的是,$.each() 可以用於任何陣列或物件,而不僅限於 DOM 元素。

用法

$.each(arrayOrObject, function(indexOrKey, value) {

console.log('索引或鍵:' + indexOrKey, '值:' + value);

});

參數說明

arrayOrObject:要遍歷的陣列或物件。

indexOrKey:當前元素的索引(若為陣列)或鍵(若為物件)。

value:當前索引或鍵對應的值。

適用情境

$.each() 用於需要遍歷非 DOM 資料的情境,如陣列或 JSON 資料物件。

它更適合處理複雜資料結構,特別是需要逐一處理每個項目的資料操作。

範例

以下範例遍歷一個包含物件的陣列,並將每個物件的內容顯示在控制台:

var dataArray = [

{ name: 'Item 1', price: 100 },

{ name: 'Item 2', price: 200 }

];

$.each(dataArray, function(index, item) {

console.log('第 ' + index + ' 項目:名稱 = ' + item.name + ', 價格 = ' + item.price);

});

在這裡,我們用 $.each() 來遍歷 dataArray 陣列的每個項目,並訪問每個物件中的屬性。

$().each() 與 $.each() 的主要差異

特性$().each(function(){})$.each(parentData, function(){})主要用途遍歷 jQuery 選取的 DOM 元素遍歷任意的陣列或物件適用範圍jQuery 元素集合陣列或 JSON 物件參數index(索引)、element(原生 DOM)indexOrKey(索引或鍵)、value(值)典型使用情境操作多個選取的網頁元素,如批量設置樣式等遍歷非 DOM 資料(如陣列、物件資料)

範例對比

$().each(function(){}) 範例:對所有 .item 元素應用紅色背景色。

$(".item").each(function (index, element) {

$(element).css("background-color", "red");

});

$.each() 範例:遍歷陣列資料並在控制台輸出每個項目。

const colors = ["red", "green", "blue"];

$.each(colors, function (index, color) {

console.log("顏色索引:" + index + ", 顏色:" + color);

});

應用注意

$().each() 適用於操作頁面中的一組元素,例如設置樣式、監聽事件或批量添加內容。

$.each() 更通用,適用於處理各種非 DOM 的資料結構。特別是當遍歷 JSON 資料時,$.each() 是更合適的選擇。

總結

$().each(function(){}) 和 $.each() 在 jQuery 中的迴圈操作有不同的應用場景。

前者適用於遍歷 jQuery 選取的 DOM 元素集合,後者則更適合遍歷陣列或物件資料。

了解這兩種方法的區別,可以根據需求選擇合適的迴圈方式,讓程式碼更具可讀性和可維護性。

黄金推荐

2025年贷款平台哪个容易通过?这10家下款快又安全
假的网站365怎么看

2025年贷款平台哪个容易通过?这10家下款快又安全

🕒 08-20 💰 3882
如何收藏淘宝店铺?淘宝如何收藏店铺?
365体育管网登录网站

如何收藏淘宝店铺?淘宝如何收藏店铺?

🕒 08-19 💰 8903
忘記了Wi-Fi密碼?到底該如何取回?
365体育管网登录网站

忘記了Wi-Fi密碼?到底該如何取回?

🕒 09-14 💰 4318