很久没用map()这个函数了,由于最近看一篇react的文章,其中有谈到map()这个函数,于是就重新查了一些资料,发现map()函数可以用在不同的地方,下面小编总结具有内容分享给大家,也方便今后查找。
其实,本人一直很少用map()这个函数,因为最近看一篇React的文章,其实有谈及map()函数,于是自己也重新查了一些资料,发现map()函数也可以用在不同的地方:
map()函数把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的Jquery对象
语法:.map(callback(index,domElement))
callback(index,domElment)》》》》对当前集合中每个元素调用的函数对象;
如:
<html> <ul> <li id="num1"> <p>你好</p> </li> <li id="num2"> <p>你好</p> </li> <li id="num3"> <p>你好</p> </li> </ul> </html>
js:
var result=$("ul li").map(function(i,val){ console.log(i,val);// return this.id;});
解释:
console.log(i,val);
打印如图所示:
console.log( typeof result) // ---当然,如果打印这个result类型是object对象; Anyway,It is ok!let us go on!
由于返回值是jquery封装的数组,那么我们使用get()来处理返回的对象以得到基础的数组;
PS:而get()方法获得由选择器指定的Dom元素语法如下:
$(selector).get(index);index:可选。规定的获取哪个匹配元素(通过index编号);
那么,代码继续:
var result=$("ul li").map(function(i,val){ console.log(i,val); return this.id;});console.log( typeof result) // ---objectconsole.log(result.get());
这个时候,result.get()会得到如图结果:
PS:它会得到一维数组,可能有些情况下大家会需要得到这样的效果,只要在适当的时候用get()方法就可以了!
当然,我们可以连上拼接join()方法抽离数组;
var result=$("ul li").map(function(i,val){ console.log(i,val); return this.id;});console.log( typeof result) // ---objectconsole.log(result.get()); console.log(result.get().join(','))
如图:
最后,总结一些:在callback函数内部,this引用每次迭代的当前DOM元素。该函数可返回单独的数据项,或者是要被插入结果集中的数据项的数组。如果返回的是数组,数组内的元素会被插入其中。如果函数返回null或者undefined,则不会插入任何元素。
以上所述是小编给大家介绍的Jquery中map函数的用法 ,希望对大家大家有所帮助!
更新动态
- 黄乙玲1988-无稳定的爱心肝乱糟糟[日本东芝1M版][WAV+CUE]
- 群星《我们的歌第六季 第3期》[320K/MP3][70.68MB]
- 群星《我们的歌第六季 第3期》[FLAC/分轨][369.48MB]
- 群星《燃!沙排少女 影视原声带》[320K/MP3][175.61MB]
- 乱斗海盗瞎6胜卡组推荐一览 深暗领域乱斗海盗瞎卡组分享
- 炉石传说乱斗6胜卡组分享一览 深暗领域乱斗6胜卡组代码推荐
- 炉石传说乱斗本周卡组合集 乱斗模式卡组最新推荐
- 佟妍.2015-七窍玲珑心【万马旦】【WAV+CUE】
- 叶振棠陈晓慧.1986-龙的心·俘虏你(2006复黑限量版)【永恒】【WAV+CUE】
- 陈慧琳.1998-爱我不爱(国)【福茂】【WAV+CUE】
- 咪咕快游豪礼放送,百元京东卡、海量欢乐豆就在咪咕咪粉节!
- 双11百吋大屏焕新“热”,海信AI画质电视成最大赢家
- 海信电视E8N Ultra:真正的百吋,不止是大!
- 曾庆瑜1990-曾庆瑜历年精选[派森][WAV+CUE]
- 叶玉卿1999-深情之选[飞图][WAV+CUE]