方法语法: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,可能会造成
内存的浪费。