首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

jquery的地图方法研究

2012-10-18 
jquery的map方法研究pbValues: /b/pforminput typetext namename valueJohn/input

jquery的map方法研究

<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://ejohn.org/"/></form> 

$("p").append( $("input").map(function(){  return $(this).val();}).get().join(", ") ); 
其中.get()方法是js中array中的方法
结果:
[ <p>John, password, http://ejohn.org/</p> ] 

$.map( [0,1,2], function(n){  return n + 4;}); 
[4, 5, 6] 

$.map(array,fn)返回的是一个数组;
但是针对一个就jQuery来讲,可以这样使$(元素).map(function(){});
没试过$.map(jQuery对象,function(){})能不能行,实验证明是不正确的,在api中是这样描述的,
jQuery.map(array,callback),也就是说,map中第一个参数只能是array数组。。。。。。


$.map(array,fn)只能处理arr[0]="cheng";arr[1]=18;这样的数组,而想arr["name"]="cheng";arr["age"]=18;这样的数组不成功;
<script type="text/javascript">$(function(){var arr=new Array();arr[0]="chengxingfang";arr[1]=18;$.map(arr,function(item){alert(item)});</script>


    callback (Function) : 为每个数组元素调用,而且会给这个转换函数传递一个表示被转换的元素作为参数。函数可返回任何值。另外,此函数可设置为一个字符串,当设置为字符串时,将视为“lambda-form”(缩写形式?),其中 a 代表数组元素。如“a * a”代表“function(a){ return a * a; }”。

参数只有一个,是数组元素转换函数可以返回转换后的值、null(删除数组中的项目)或一个包含值的数组,并扩展至原始数组中。






而$.each()就不一样了,jQuery.each(obj,callback) 回调函数拥有两个参数:第一个为对象的成员或数组的索引,第二个为对应变量或内容。




热点排行