国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 16:10:30
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了jQuery函數map()和each()介紹及異同點分析,需要的朋友可以參考下
 
 

方法語法:map()

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

 

復制代碼代碼如下:

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

 

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

 

復制代碼代碼如下:

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

 

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

 

復制代碼代碼如下:

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

 

此調用的結果是字符串, "two,four,six".

在回調函數中,this指向每次迭代中的當前DOM元素。

方法語法:each()

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

 

復制代碼代碼如下:

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

 

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

每次回調函數執行時,會傳遞當前循環次數作為參數(從0開始計數)。更重要的是,回調函數是在當前DOM元素為上下文的語境中觸發的。因此關鍵字 this 總是指向這個元素。

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

 

復制代碼代碼如下:

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

 

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

 

復制代碼代碼如下:

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

 

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

0: foo
1: bar 
兩者的區別

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 峨山| 南部县| 云龙县| 马尔康县| 正镶白旗| 鄯善县| 庆阳市| 吉木萨尔县| 汤原县| 罗平县| 海伦市| 桃园市| 班戈县| 股票| 若羌县| 石楼县| 宜川县| 永顺县| 乌拉特中旗| 荣成市| 朝阳市| 大新县| 阿克陶县| 乌兰县| 沁源县| 溧水县| 台前县| 卫辉市| 武宣县| 独山县| 阳山县| 洛宁县| 庄河市| 舟曲县| 扶风县| 金山区| 运城市| 枞阳县| 丘北县| 黑山县| 吴旗县|