jQuery 遍历 - map() 方法
map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象。
jQuery下有个概念叫“类数组”,比如$( " li " ),当取到一个集合的时候,会有数组的一些属性,但是instancseof Array仍然是false。但是var a=$( "li" ).get()这样处理一下,然后instancseof Array就返回true。
要注意var a=$( “li” ).get(1)里头加序列号可以取到单个元素,这些元素的性质不是jQuery对象,而是Js对象,所以不可直接用jQuery方法。
map()的功能主要有两步,第一步就是遍历,第二步就是替换。
$( " li " ).map( function( ){
return $(this).text( ); // 注意return关键字不可少
} )
map先遍历,每一项都返回一个text()值,然后map会将这些值自动去替换 ("li")集合的每一项值,所以这个时候还是个类数组(因为还是 (” li “)的壳子),不是个真正的数组。于是后面加个get()操作就变成真正的数组了,于是可以用join()这样专属于数组的方法。
- 1
- 2
- 1
- 2
实例
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24