用法:1、用于将元素通过函数传递到集合中,生成新的jQuery对象,语法为“.map(callback(index,domElement))”;2、用于处理数组中的元素并将结果封装为新数组返回,语法为“$.map(数组或对象,指定函数)”。
本教程操作环境:windows10系统、jquery3.2.1版本、Dell G3电脑。
map在jquery中的用法
1、map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象。
语法
.map(callback(index,domElement))
callback(index,domElement) 对当前集合中的每个元素调用的函数对象。
由于返回值是 jQuery 封装的数组,使用 get() 来处理返回的对象以得到基础的数组。
示例如下:
<!DOCTYPE html> <html> <head> <style>p { color:red; }</style> <script type="text/javascript" src="/jquery/jquery.js"></script> </head> <body> <p><b>Values: </b></p> <form> <input type="text" name="name" value="John"/> <input type="text" name="password" value="password"/> <input type="text" name="url" value="http://php.cn/"/> </form> <script> $("p").append( $("input").map(function(){ return $(this).val(); }).get().join(", ") ); </script> </body> </html>
输出结果:
2、$.map() 函数用于使用指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回。
在jQuery 1.6 之前,该函数只支持遍历数组;从 1.6 开始,该函数也支持遍历对象。
map()还会为函数传入两个参数:其一是当前迭代的元素或属性值,其二是当前迭代项的数组索引或对象属性名。
该函数返回值将作为结果数组中的一个元素,如果返回值为null或undefined,则不会被添加到结果数组中。
$.map( object, callback )
object Array/Object类型 指定的需要处理的数组或对象。
callback Function类型 指定的处理函数。
示例如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>123</title> <style> div { color:blue; } p { color:green; margin:0; } span { color:red; } </style> <script src="js/jquery.min.js"></script> </head> <body> <div></div> <p></p> <span></span> <script> $(function () { var arr = [ "a", "b", "c", "d", "e" ]; $("div").text(arr.join(", ")); arr = $.map(arr, function(n, i){ return (n.toUpperCase() + i); }); $("p").text(arr.join(", ")); arr = $.map(arr, function (a) { return a + a; }); $("span").text(arr.join(", ")); }) </script> </body> </html>
输出结果:
相关视频教程推荐:jQuery视频教程