国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 web前端 js教程 5 jQuery.EACH()功能示例

5 jQuery.EACH()功能示例

Feb 08, 2025 am 11:06 AM

5 jQuery.each() Function Examples

本文深入探討 jQuery.each() 函數(shù)——jQuery 中最重要、最常用的函數(shù)之一。我們將探究其重要性,并學(xué)習(xí)如何使用它。

核心要點

  1. jQuery.each() 函數(shù)是 jQuery 中一個多功能工具,用于迭代 DOM 元素、數(shù)組和對象,從而高效地進行多元素 DOM 操作和數(shù)據(jù)處理。
  2. 該函數(shù)提供兩種操作模式:作為 jQuery 對象上調(diào)用的方法(用于 DOM 元素),以及作為數(shù)組和對象的實用函數(shù),每種模式都適用于不同類型的數(shù)據(jù)結(jié)構(gòu)。
  3. 通過實際示例,本文展示了 jQuery.each() 的強大功能和靈活性,強調(diào)了其在簡化迭代過程中的重要性,并重點介紹了用于執(zhí)行類似任務(wù)的替代 JavaScript 方法。

什么是 jQuery.each()?

jQuery 的 each() 函數(shù)用于循環(huán)遍歷目標(biāo) jQuery 對象的每個元素——包含一個或多個 DOM 元素的對象,并公開所有 jQuery 函數(shù)。它對于多元素 DOM 操作以及迭代任意數(shù)組和對象屬性非常有用。

除了此函數(shù)外,jQuery 還提供了一個同名輔助函數(shù),無需事先選擇或創(chuàng)建任何 DOM 元素即可調(diào)用。

jQuery.each() 語法

讓我們看看不同模式的實際應(yīng)用。

以下示例選擇網(wǎng)頁上的每個 <div> 元素,并輸出每個元素的索引和 ID: <pre class='brush:php;toolbar:false;'>// DOM 元素 $('div').each(function(index, value) { console.log(`div${index}: ${this.id}`); });</pre> <p>可能的輸出結(jié)果為:</p> <pre class="brush:php;toolbar:false">&lt;code&gt;div0:header div1:main div2:footer&lt;/code&gt;</pre> <p>此版本使用 jQuery 的 <code>$(selector).each() 函數(shù),而不是實用函數(shù)。

下一個示例顯示了實用函數(shù)的使用。在這種情況下,要循環(huán)遍歷的對象作為第一個參數(shù)給出。在此示例中,我們將展示如何循環(huán)遍歷數(shù)組:

// 數(shù)組
const arr = [
  'one',
  'two',
  'three',
  'four',
  'five'
];

$.each(arr, function(index, value) {
  console.log(value);
  // 將在 "three" 后停止運行
  return (value !== 'three');
});

// 輸出:one two three

在最后一個示例中,我們想演示如何迭代對象的屬性:

// 對象
const obj = {
  one: 1,
  two: 2,
  three: 3,
  four: 4,
  five: 5
};

$.each(obj, function(key, value) {
  console.log(value);
});

// 輸出:1 2 3 4 5

所有這些都歸結(jié)為提供適當(dāng)?shù)幕卣{(diào)函數(shù)?;卣{(diào)函數(shù)的上下文 this 將等于其第二個參數(shù),即當(dāng)前值。但是,由于上下文始終是一個對象,因此必須包裝原始值:

$.each({ one: 1, two: 2 } , function(key, value) {
  console.log(this);
});

// Number { 1 }
// Number { 2 }

這意味著值和上下文之間沒有嚴格的相等性。

$.each({ one: 1 } , function(key, value) {
  console.log(this == value);
  console.log(this === value);
});

// true
// false

第一個參數(shù)是當(dāng)前索引,它是數(shù)字(對于數(shù)組)或字符串(對于對象)。

  1. 基本的 jQuery.each() 函數(shù)示例

讓我們看看 jQuery.each() 函數(shù)如何與 jQuery 對象結(jié)合使用。第一個示例選擇頁面中的所有 a 元素并輸出它們的 href 屬性:

$('a').each(function(index, value){
  console.log(this.href);
});

第二個示例輸出網(wǎng)頁上的每個外部 href(假設(shè)僅使用 HTTP(S) 協(xié)議):

$('a').each(function(index, value){
  const link = this.href;

  if (link.match(/https?:\/\//)) {
    console.log(link);
  }
});

假設(shè)頁面上有以下鏈接:

<a href="http://www.miracleart.cn/link/9a4b930f7a36153ca68fdf211c8836a7">SitePoint</a>
<a href="http://www.miracleart.cn/link/235fba44e32ba4dd3a3f72db1a8a6846">MDN web docs</a>
<a href="http://www.miracleart.cn/link/60c4a88bac6125d490af523a8c94e5e1">Example Domain</a>

第二個示例將輸出:

// DOM 元素
$('div').each(function(index, value) {
  console.log(`div${index}: ${this.id}`);
});

我們應(yīng)該注意,來自 jQuery 對象的 DOM 元素在其傳遞給 jQuery.each() 的回調(diào)函數(shù)中的“原生”形式。原因是 jQuery 事實上只是 DOM 元素數(shù)組的包裝器。通過使用 jQuery.each(),此數(shù)組的迭代方式與普通數(shù)組相同。因此,我們不會開箱即用地獲得包裝的元素。

關(guān)于我們的第二個示例,這意味著我們可以通過編寫 this.href 來獲取元素的 href 屬性。如果我們想使用 jQuery 的 attr() 方法,我們需要像這樣重新包裝元素:$(this).attr('href')。

  1. jQuery.each() 數(shù)組示例

讓我們再看看如何處理普通數(shù)組:

<code>div0:header
div1:main
div2:footer</code>

此代碼段輸出:

// 數(shù)組
const arr = [
  'one',
  'two',
  'three',
  'four',
  'five'
];

$.each(arr, function(index, value) {
  console.log(value);
  // 將在 "three" 后停止運行
  return (value !== 'three');
});

// 輸出:one two three

這里沒有什么特別的。數(shù)組具有數(shù)字索引,因此我們獲得從 0 開始到 N-1 的數(shù)字,其中 N 是數(shù)組中元素的數(shù)量。

  1. jQuery.each() JSON 示例

我們可能有更復(fù)雜的數(shù)據(jù)結(jié)構(gòu),例如數(shù)組中的數(shù)組、對象中的對象、數(shù)組中的對象或?qū)ο笾械臄?shù)組。讓我們看看 jQuery.each() 如何在這種情況下幫助我們:

// 對象
const obj = {
  one: 1,
  two: 2,
  three: 3,
  four: 4,
  five: 5
};

$.each(obj, function(key, value) {
  console.log(value);
});

// 輸出:1 2 3 4 5

此示例輸出:

$.each({ one: 1, two: 2 } , function(key, value) {
  console.log(this);
});

// Number { 1 }
// Number { 2 }

我們使用嵌套調(diào)用 jQuery.each() 來處理嵌套結(jié)構(gòu)。外部調(diào)用處理變量 colors 的數(shù)組;內(nèi)部調(diào)用處理各個對象。在此示例中,每個對象只有一個鍵,但通??梢允褂么舜a處理任意數(shù)量的鍵。

  1. jQuery.each() 類示例

此示例演示如何循環(huán)遍歷分配了類 productDescription 的每個元素(在下面的 HTML 中給出):

$.each({ one: 1 } , function(key, value) {
  console.log(this == value);
  console.log(this === value);
});

// true
// false

我們使用 each() 輔助函數(shù)而不是選擇器上的 each() 方法。

$('a').each(function(index, value){
  console.log(this.href);
});

在這種情況下,輸出為:

$('a').each(function(index, value){
  const link = this.href;

  if (link.match(/https?:\/\//)) {
    console.log(link);
  }
});

我們不必包含 index 和 value。這些只是幫助確定我們當(dāng)前正在迭代哪個 DOM 元素的參數(shù)。此外,在這種情況下,我們還可以使用更方便的 each 方法。我們可以這樣寫:

<a href="http://www.miracleart.cn/link/9a4b930f7a36153ca68fdf211c8836a7">SitePoint</a>
<a href="http://www.miracleart.cn/link/235fba44e32ba4dd3a3f72db1a8a6846">MDN web docs</a>
<a href="http://www.miracleart.cn/link/60c4a88bac6125d490af523a8c94e5e1">Example Domain</a>

我們將在控制臺中獲得:

<code>http://www.miracleart.cn/link/9a4b930f7a36153ca68fdf211c8836a7
http://www.miracleart.cn/link/235fba44e32ba4dd3a3f72db1a8a6846
http://www.miracleart.cn/link/60c4a88bac6125d490af523a8c94e5e1</code>

請注意,我們正在將 DOM 元素包裝在一個新的 jQuery 實例中,以便我們可以使用 jQuery 的 text() 方法來獲取元素的文本內(nèi)容。

  1. jQuery.each() 延遲示例

在下一個示例中,當(dāng)用戶單擊 ID 為 5demo 的元素時,所有列表項將立即設(shè)置為橙色。

const numbers = [1, 2, 3, 4, 5];
$.each(numbers, function(index, value){
  console.log(`${index}: ${value}`);
});

在索引相關(guān)的延遲(0、200、400……毫秒)之后,我們將元素淡出:

<code>0:1
1:2
2:3
3:4
4:5</code>

結(jié)論

在這篇文章中,我們演示了如何使用 jQuery.each() 函數(shù)迭代 DOM 元素、數(shù)組和對象。這是一個強大且節(jié)省時間的函數(shù),開發(fā)人員應(yīng)該將其納入自己的工具包中。

如果 jQuery 不是您的首選,您可能需要考慮使用 JavaScript 原生的 Object.keys()Array.prototype.forEach() 方法。還有一些像 foreach 這樣的庫,可以讓您迭代類數(shù)組對象或字典式對象的鍵值對。

請記?。?code>$.each() 和 $(selector).each() 是以兩種不同方式定義的兩種不同方法。

(本文已于 2020 年更新,以反映當(dāng)前最佳實踐,并更新結(jié)論中關(guān)于使用現(xiàn)代 JavaScript 的原生解決方案的建議。要了解更多 JavaScript 知識,請閱讀我們的書籍《JavaScript:從新手到忍者,第二版》)

關(guān)于 jQuery each() 函數(shù)的常見問題

jQuery 中 .each() 函數(shù)的用途是什么?jQuery 中的 .each() 函數(shù)用于迭代 DOM 元素集合,并對每個元素執(zhí)行特定操作。

如何在 jQuery 中使用 .each() 函數(shù)?您可以通過使用 jQuery 選擇器選擇一組元素,然后在該選擇上調(diào)用 .each() 來使用 .each() 函數(shù)。您提供一個回調(diào)函數(shù),該函數(shù)定義要對每個元素執(zhí)行的操作。

與 .each() 一起使用的回調(diào)函數(shù)的參數(shù)是什么?回調(diào)函數(shù)接受兩個參數(shù):index(集合中元素的當(dāng)前索引)和 element(正在迭代的當(dāng)前 DOM 元素)。

如何在 .each() 回調(diào)函數(shù)中使用 index 參數(shù)?您可以使用 index 參數(shù)來跟蹤集合中當(dāng)前元素的位置,這對于條件操作或其他操作非常有用。

.each() 函數(shù)的一些常見用例是什么?常見的用例包括迭代元素列表以操作其屬性、值或樣式,以及對集合中的每個元素執(zhí)行自定義操作。

以上是5 jQuery.EACH()功能示例的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

Java vs. JavaScript:清除混亂 Java vs. JavaScript:清除混亂 Jun 20, 2025 am 12:27 AM

Java和JavaScript是不同的編程語言,各自適用于不同的應(yīng)用場景。Java用于大型企業(yè)和移動應(yīng)用開發(fā),而JavaScript主要用于網(wǎng)頁開發(fā)。

JavaScript評論:簡短說明 JavaScript評論:簡短說明 Jun 19, 2025 am 12:40 AM

JavascriptconcommentsenceenceEncorenceEnterential gransimenting,reading and guidingCodeeXecution.1)單inecommentsareusedforquickexplanations.2)多l(xiāng)inecommentsexplaincomplexlogicorprovideDocumentation.3)

如何在JS中與日期和時間合作? 如何在JS中與日期和時間合作? Jul 01, 2025 am 01:27 AM

JavaScript中的日期和時間處理需注意以下幾點:1.創(chuàng)建Date對象有多種方式,推薦使用ISO格式字符串以保證兼容性;2.獲取和設(shè)置時間信息可用get和set方法,注意月份從0開始;3.手動格式化日期需拼接字符串,也可使用第三方庫;4.處理時區(qū)問題建議使用支持時區(qū)的庫,如Luxon。掌握這些要點能有效避免常見錯誤。

為什么要將標(biāo)簽放在的底部? 為什么要將標(biāo)簽放在的底部? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript與Java:開發(fā)人員的全面比較 JavaScript與Java:開發(fā)人員的全面比較 Jun 20, 2025 am 12:21 AM

JavaScriptIspreferredforredforwebdevelverment,而Javaisbetterforlarge-ScalebackendsystystemsandSandAndRoidApps.1)JavascriptexcelcelsincreatingInteractiveWebexperienceswebexperienceswithitswithitsdynamicnnamicnnamicnnamicnnamicnemicnemicnemicnemicnemicnemicnemicnemicnddommanipulation.2)

JavaScript:探索用于高效編碼的數(shù)據(jù)類型 JavaScript:探索用于高效編碼的數(shù)據(jù)類型 Jun 20, 2025 am 12:46 AM

javascripthassevenfundaMentalDatatypes:數(shù)字,弦,布爾值,未定義,null,object和symbol.1)numberSeadUble-eaduble-ecisionFormat,forwidevaluerangesbutbecautious.2)

什么是在DOM中冒泡和捕獲的事件? 什么是在DOM中冒泡和捕獲的事件? Jul 02, 2025 am 01:19 AM

事件捕獲和冒泡是DOM中事件傳播的兩個階段,捕獲是從頂層向下到目標(biāo)元素,冒泡是從目標(biāo)元素向上傳播到頂層。1.事件捕獲通過addEventListener的useCapture參數(shù)設(shè)為true實現(xiàn);2.事件冒泡是默認行為,useCapture設(shè)為false或省略;3.可使用event.stopPropagation()阻止事件傳播;4.冒泡支持事件委托,提高動態(tài)內(nèi)容處理效率;5.捕獲可用于提前攔截事件,如日志記錄或錯誤處理。了解這兩個階段有助于精確控制JavaScript響應(yīng)用戶操作的時機和方式。

Java和JavaScript有什么區(qū)別? Java和JavaScript有什么區(qū)別? Jun 17, 2025 am 09:17 AM

Java和JavaScript是不同的編程語言。1.Java是靜態(tài)類型、編譯型語言,適用于企業(yè)應(yīng)用和大型系統(tǒng)。2.JavaScript是動態(tài)類型、解釋型語言,主要用于網(wǎng)頁交互和前端開發(fā)。

See all articles