方法语法:map()

映射(回调)

为包集中的每个元素调用回调函数,并在jQuery对象的实例中收集返回值。

参数

回调函数回调函数调用包集合中每个元素的函数。

例如,下面的代码收集Javascript数组中页面上所有div元素的ID值:

复制代码代码如下所示:

var $()。

返回(这个ID = =不空:this.id);

});



再次查看表单中包含的复选框框,如下所示:

复制代码代码如下所示:







二







四







六







八











我们可以得到一个逗号分隔的复选框id:

复制代码代码如下所示:

$(复选框)。

返回this.id;

};



这个调用的结果是一个字符串,二、四、六。

在回调函数中,这指向每次迭代中当前的DOM元素。

方法语法:每个()

每个(迭代器)

遍历匹配集中的所有元素并调用每个元素的传入迭代函数。

Iterator(函数)回调函数,该函数用于与集合匹配的每个元素。

每个()方法还可以用来遍历Javascript数组对象,甚至是单个对象,持有一个栗子:

复制代码代码如下所示:

$({、b、c、d })。每个(函数){(){)

警戒(此);

})



这个语句为传入的$()中数组的每个元素调用一个迭代函数,而函数中的这个函数指向一个单独的数组项。

每次回调函数被执行时,当前循环的个数作为参数传递(从0计数)。更重要的是,回调函数是在当前DOM元素的上下文中触发的。因此,这个关键字总是指向这个元素。

假设页面上有这样一个简单的无序列表。

复制代码代码如下所示:



Foo

酒吧





您可以选择并迭代这些列表:

复制代码代码如下所示:

$(),每个(函数(索引){)

console.log(指数+ + $(this)。文本()));

});



列表中的每个项都显示在以下消息中:

0:Foo

1:酒吧

两者之间的区别

map()方法主要用于遍历操作和对象数组,每个()主要用于遍历jQuery对象。

每个()返回原始数组,不创建数组。

map()方法返回一个新数组。如果没有必要的条件使用map,可能会造成内存的浪费。