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

首頁(yè) 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í)如何使用它。

核心要點(diǎn)

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

什麼是 jQuery.each()?

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

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

jQuery.each() 語(yǔ)法

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

以下示例選擇網(wǎng)頁(yè)上的每個(gè) <div> 元素,並輸出每個(gè)元素的索引和 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ù)。

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

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

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

// 輸出:one two three

在最後一個(gè)示例中,我們想演示如何迭代對(duì)象的屬性:

// 對(duì)象
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

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

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

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

這意味著值和上下文之間沒(méi)有嚴(yán)格的相等性。

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

// true
// false

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

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

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

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

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

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

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

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

<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>

第二個(gè)示例將輸出:

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

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

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

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

讓我們?cè)倏纯慈绾翁幚砥胀〝?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" 后停止運(yùn)行
  return (value !== 'three');
});

// 輸出:one two three

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

  1. jQuery.each() JSON 示例

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

// 對(duì)象
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() 來(lái)處理嵌套結(jié)構(gòu)。外部調(diào)用處理變量 colors 的數(shù)組;內(nèi)部調(diào)用處理各個(gè)對(duì)象。在此示例中,每個(gè)對(duì)像只有一個(gè)鍵,但通常可以使用此代碼處理任意數(shù)量的鍵。

  1. jQuery.each() 類示例

此示例演示如何循環(huán)遍歷分配了類 productDescription 的每個(gè)元素(在下面的 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)前正在迭代哪個(gè) 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>

我們將在控制臺(tái)中獲得:

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

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

  1. jQuery.each() 延遲示例

在下一個(gè)示例中,當(dāng)用戶單擊 ID 為 5demo 的元素時(shí),所有列表項(xiàng)將立即設(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ù)組和對(duì)象。這是一個(gè)強(qiáng)大且節(jié)省時(shí)間的函數(shù),開(kāi)發(fā)人員應(yīng)該將其納入自己的工具包中。

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

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

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

關(guān)於 jQuery each() 函數(shù)的常見(jiàn)問(wèn)題

jQuery 中 .each() 函數(shù)的用途是什麼? jQuery 中的 .each() 函數(shù)用於迭代 DOM 元素集合,並對(duì)每個(gè)元素執(zhí)行特定操作。

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

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

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

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

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

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

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

JavaScript評(píng)論:簡(jiǎn)短說(shuō)明 JavaScript評(píng)論:簡(jiǎn)短說(shuō)明 Jun 19, 2025 am 12:40 AM

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

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

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

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

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

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

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

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

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

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

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

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

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

See all articles