jQuery 是循環(huán)一個(gè)快速、簡(jiǎn)潔的賦值 JavaScript?? 庫,它簡(jiǎn)化了 HTML 文檔遍歷、循環(huán)事(╬ ò﹏ó)件處理、賦值動(dòng)畫(huà)和 AJAX 交互等操作,循(?_?;)環(huán)在 jQuery 中,賦值我們可以使用多種方法來(lái)實(shí)現循環(huán),循環(huán)包括 .each()、賦值.map()、循環(huán).filter() 等,賦值下面將詳細介紹這些方法的循環(huán)使用。
1、循環(huán).each??(′_`)() 方法
.each() 方法是賦值 jQuヽ(′ー`)ノery 中最常用、最簡(jiǎn)單的循環(huán)循環(huán)方法(fa),它接受一個(gè)回調函數作為參數,該回調函數會(huì )在每個(gè)匹配的元素上執行一次,回調函數可以接受兩個(gè)參數:第一個(gè)參數是當前元素的索引(從0開(kāi)始),第二個(gè)參數是當前元素本身。
示例代碼:
// 遍歷所有段落元素,為它們添加一個(gè)類(lèi)名 "highlight"$("p").each(function(index, element) { $(element).addClass("highlight");});2、.map() 方法
.map() 方法用于遍歷數組或對象,并對每個(gè)元素執行指定的函數,然后將結果??組成一個(gè)新(xin)的數組或對象返回,它接受一個(gè)回調(?_?;)函數作為參數,該回調函數可(╬ ò﹏ó)以接受三個(gè)參數:第一個(gè)參數是當前元素的索引(從0開(kāi)始),第二個(gè)參數是當前元素本身,第三個(gè)參數是當前元素所屬的數(shu)組或對象。
示例代碼:
// 獲取所有段落元素的文本內容,并將它們組成一個(gè)新的數組var paragraphs = $("p").map(function(index, element) { return $(element).text();}).get(??)??;console.log(paragraphs); // ["這是第一個(gè)段落&qu??ot;, "這是第二個(gè)段落", "這是第三個(gè)段落"]3、.filter() 方法
.filter() 方法用于篩選數組或對象中滿(mǎn)足指定條件的元素,并返回一個(gè)新的數組或對象,它接受ヽ(′?`)ノ一個(gè)回調函數作為參數,該回調函數可以接受三個(gè)參數:第一個(gè)參數是當前元素的索引(從0開(kāi)始),第二個(gè)參數是當前元素本身,第三個(gè)參數是當前元素所屬的數組或對象。
示例代碼:
// 篩選出所有包含文本 "這是" 的段落元素,?并將它們組成一個(gè)新的數組var filteredParagraphs = $("p").filter(func???tion(index, element) { return $(element).text().indexOf(&q┐(′д`)┌uot;這是") !== 1;}??).get();console.log(filtered??Paragraphs); // [&qu(′Д` )ot;這是第一個(gè)段落", "這是第二個(gè)段落"]4、$.each() 方法
除了 .each() 方法外,jQue??ry 還提供了一個(gè)全局的 $.e??ach() 方法,它可以用于遍歷任何對象(如數組、對象等),它接受兩個(gè)參數:第一個(gè)參數是要遍歷的對象,第二個(gè)參數是(shi)一個(gè)回調函數,回調(′?_?`)函數可以接受三個(gè)參數:第一個(gè)參數是當前元素的鍵名(對于數組來(lái)說(shuō)是索引,對于對象來(lái)說(shuō)是屬性名),第二個(gè)參數是當前元素的值,第三個(gè)參數是當前元素所屬的對象。
示例代碼:
// 遍歷一個(gè)數組,并為每個(gè)元素添加一個(gè)類(lèi)名 "highlight"$.each([1, 2, 3], function(index, value) { $("<div>").text(value).addClass(??"high(′?_?`)light").appendTo("bo??dy");});5、$.map() 方法
與 .map() 方法類(lèi)似,jQuery 還提供了一個(gè)全局的 $.map() 方法,它可以用于遍歷(╯°□°)╯︵ ┻━┻任何對象(如數組、對象等),它接受兩個(gè)參數:第一個(gè)參數是要遍歷的對象,第二個(gè)參數是一個(gè)回調函數,回調函數可以接受三個(gè)參數:第一個(gè)參數是當前元素的鍵名(對于數組來(lái)說(shuō)是索引,對于對象來(lái)說(shuō)是屬性名),第二個(gè)參數是當前元素的值,第三個(gè)參數是當前元素所屬的對象,與 .map??() 方法不同的是,$.map() 方法會(huì )返回一個(gè)新??的數組,而不會(huì )修改原始對象。
示例代碼:
// 獲取一個(gè)對象的鍵名和值組成的數組???,并將它們組成一個(gè)新的二維數組var obj = { a: 1, b: 2, c: 3};??var result = $.map(obj, function(value, key) { return [key, value];});console.log(result);?? // [["a", 1], ["b", 2], ["c"??, 3]](╬ ò﹏ó)6、$.filter() 方法
與 .filter() 方法類(lèi)似,jQuery 還提??供了一個(gè)全局的 $.filter() 方(fang)法,它可以用于篩選任何對象(如數組、對象等)中滿(mǎn)??足指定條??件的元素,它接受兩個(gè)參數:第一個(gè)參數(╯°□°)╯︵ ┻━┻是要篩選的對象,第二個(gè)參數是一個(gè)回調函數,回調函數可以接受三個(gè)參數:第一個(gè)參(can)數是當前元素的鍵名(對于數組來(lái)說(shuō)是索引( ?° ?? ?°),對于對象來(lái)(°ロ°) !說(shuō)是屬性名),第二個(gè)參數是當前元素的值,第三個(gè)參數是當前元素所屬的對象(xiang),與 .filter() 方法不同的是,$.filter() 方法會(huì )返回一個(gè)新的數組或對象,而不會(huì )修改原始對象。