要注意var a=$( "li" ).get(1)里头加序列号可以取到单个元素,这些元素的性质不是jQuery对象,而是Js对象,所以不可直接用jQuery方法。
map()的功能主要有两步,第一步就是遍历,第二步就是替换。
$( " li " ).map( function( ){
return $(this).text( ); // 注意return关键字不可少
} )
map先遍历,每一项都返回一个text()值,然后map会将这些值自动去替换$("li")集合的每一项值,所以这个时候还是个类数组(因为还是$(" li ")的壳子),不是个真正的数组。于是后面加个get()操作就变成真正的数组了,于是可以用join()这样专属于数组的方法。
如:
$( " li " ).map( function( ){
return $(this).text( );
} ).get( ).join("%") // 拼接成字符串,中间用“%”隔开
补充:
map() 和get()也可以直接操纵数组代码如下:
var arrayObj=["www","xxx","ddd"];
var ww=$.map(arrayObj,function(i){
return i;
}).join(",");
console.log(ww);
var tt=$(":checkbox").map(function(){
return this.value;
}).get().join(",");
console.log(tt);