欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery函數(shù)map()和each()介紹及異同點分析

 更新時間:2014年11月08日 16:47:44   投稿:hebedich  
這篇文章主要介紹了jQuery函數(shù)map()和each()介紹及異同點分析,需要的朋友可以參考下

方法語法:map()

map(callback)
為包裝集中的每一個元素調(diào)用回調(diào)函數(shù),并將返回值收集到j(luò)Query對象的實例中。
參數(shù)
callback (函數(shù))回調(diào)函數(shù),為包裝集中的每個元素調(diào)用該函數(shù)。
比如,下面的代碼將頁面上所有div元素的id值收集到一個javascript數(shù)組中:

復(fù)制代碼 代碼如下:

var iDs = $("div").map(function(){
    return (this.id==undefined) ? null :this.id;
}).get();

再看如下的表單中包含的一組 checkbox 框:

復(fù)制代碼 代碼如下:

<form method="post" action="">
<fieldset>
<div>
<label for="two">2</label>
<input type="checkbox" value="2" id="two" name="number[]">
</div>
<div>
<label for="four">4</label>
<input type="checkbox" value="4" id="four" name="number[]">
</div>
<div>
<label for="six">6</label>
<input type="checkbox" value="6" id="six" name="number[]">
</div>
<div>
<label for="eight">8</label>
<input type="text" value="8" id="eight" name="number[]">
</div>
</fieldset>
</form>

我們可以得到一個用逗號分隔的復(fù)選框 ID:

復(fù)制代碼 代碼如下:

$(':checkbox').map(function() {
return this.id;
}).get().join();

此調(diào)用的結(jié)果是字符串, "two,four,six".

在回調(diào)函數(shù)中,this指向每次迭代中的當(dāng)前DOM元素。

方法語法:each()

each(iterator)
遍歷匹配集里所有的元素,為每一個元素調(diào)用傳入的迭代函數(shù)
iterator (函數(shù))回調(diào)函數(shù),為匹配集中的每個元素調(diào)用
each()方法也可以用來遍歷javascript數(shù)組對象甚至單個對象,舉個栗子:

復(fù)制代碼 代碼如下:

$([a,b,c,d]).each(function(){
    alert(this);
})

這個語句會為傳入$()中數(shù)組的每個元素調(diào)用迭代函數(shù),函數(shù)中的this指向單獨的數(shù)組項。

每次回調(diào)函數(shù)執(zhí)行時,會傳遞當(dāng)前循環(huán)次數(shù)作為參數(shù)(從0開始計數(shù))。更重要的是,回調(diào)函數(shù)是在當(dāng)前DOM元素為上下文的語境中觸發(fā)的。因此關(guān)鍵字 this 總是指向這個元素。

假設(shè)頁面上有這樣一個簡單的無序列表。

復(fù)制代碼 代碼如下:

<ul>
<li>foo</li>
<li>bar</li>
</ul>

你可以選中并迭代這些列表:

復(fù)制代碼 代碼如下:

$( "li" ).each(function( index ) {
console.log( index + ": "" + $(this).text() );
});

列表中每一項會顯示在下面的消息中:

0: foo
1: bar
兩者的區(qū)別

map()方法主要用來遍歷操作數(shù)組和對象,each()主要用于遍歷jquery對象。

each()返回的是原來的數(shù)組,并不會新創(chuàng)建一個數(shù)組。
map()方法會返回一個新的數(shù)組。如果在沒有必要的情況下使用map,則有可能造成內(nèi)存浪費。

相關(guān)文章

  • jQuery制作簡潔的圖片輪播效果

    jQuery制作簡潔的圖片輪播效果

    這篇文章主要介紹了jQuery制作簡潔的圖片輪播效果,代碼非常的精簡,小伙伴們可以自己美化下,自由擴展。
    2015-04-04
  • jquery怎樣實現(xiàn)ajax聯(lián)動框(二)

    jquery怎樣實現(xiàn)ajax聯(lián)動框(二)

    ajax聯(lián)動框想必大家早有所耳聞,接下來將介紹jquery實現(xiàn)另一種形式的聯(lián)動框,右邊的聯(lián)動框用jquery生成,仿照上篇的js方法修改的,感興趣的你可以參考下希望可以幫助到你
    2013-03-03
  • 使用jquery datatable和bootsrap創(chuàng)建表格實例代碼

    使用jquery datatable和bootsrap創(chuàng)建表格實例代碼

    這篇文章主要介紹了使用jquery-datatable和bootsrap創(chuàng)建表格的實例代碼,需要的朋友可以參考下
    2017-03-03
  • jquery序列化方法實例分析

    jquery序列化方法實例分析

    這篇文章主要介紹了jquery序列化方法,較為詳細的分析了jQuery實現(xiàn)序列化涉及的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • jQuery實現(xiàn)可以擴展的日歷

    jQuery實現(xiàn)可以擴展的日歷

    這篇文章主要為大家詳細介紹了jQuery實現(xiàn)可以擴展的日歷,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • jQuery插件zTree實現(xiàn)獲取一級節(jié)點數(shù)據(jù)的方法

    jQuery插件zTree實現(xiàn)獲取一級節(jié)點數(shù)據(jù)的方法

    這篇文章主要介紹了jQuery插件zTree實現(xiàn)獲取一級節(jié)點數(shù)據(jù)的方法,結(jié)合實例形式分析了jQuery插件zTree針對節(jié)點的遍歷與獲取操作相關(guān)技巧,需要的朋友可以參考下
    2017-03-03
  • jQuery + html + css 實現(xiàn)王者榮耀官網(wǎng)首頁效果 附實例代碼

    jQuery + html + css 實現(xiàn)王者榮耀官網(wǎng)首頁效果&nb

    這篇文章主要介紹了jQuery + html + css 實現(xiàn)王者榮耀官網(wǎng)首頁效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • jquery的ajax請求全面了解

    jquery的ajax請求全面了解

    jquery中封裝了一些ajax請求的方法,很實用,整理出來與大家分享下,感興趣的朋友可以參考下哈,希望可以幫助到你
    2013-03-03
  • 使用jQuery模板來展現(xiàn)json數(shù)據(jù)的代碼

    使用jQuery模板來展現(xiàn)json數(shù)據(jù)的代碼

    通常我們在使用ajax的時候,都避免不了和json這種輕巧的數(shù)據(jù)格式打交道。可是往往手動的去解析json,構(gòu)建HTML,比較麻煩。現(xiàn)在有了這個插件,就能像Extjs那樣使用模板解析json了。
    2010-10-10
  • 詳解Jquery Easyui的驗證擴展

    詳解Jquery Easyui的驗證擴展

    本文主要介紹了Jquery Easyui驗證擴展,Easyui驗證,Easyui校驗,js正則表達式。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01

最新評論