jquery 使用map

张千苒 3个月前 45浏览 0评论

jQuery的map()方法可以将一个jQuery对象中的元素转化为另外一个jQuery对象,即返回一个新的jQuery对象。这个方法经常被用来对元素进行过滤或者排序,以及从原有的jQuery对象中获取某些特定的值。

// 用map()方法打印出所有li元素的内容
$("li").map(function() {
  return $(this).text();
}).get().forEach(function(text) {
  console.log(text);
});

上面的代码可以将ul下所有的li元素的内容打印出来,首先用map()方法将每个li元素转化为它们的文本值,然后使用get()方法将新的jQuery对象转换为标准数组,最后遍历这个数组将每个元素输出到控制台。

除了将元素转化为文本值之外,map()方法还可以对元素进行过滤和排序,此外它还支持属性访问,这可能会节省许多处理时间。

var list = $("li").map(function() {
  return $(this).attr("data-value");
}).get();
list.sort();

这段代码使用map()方法获取每个li元素的data-value属性,然后将这些值存储在一个数组中,并且使用sort()方法对它们进行排序。这种方式极为方便,在实际操作中也非常实用。