网站大量收购独家精品文档,联系QQ:2885784924

Jquery中each用法.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
jquery的each()详细介绍each()方法能使DOM循环结构简洁,不容易出错。each()函数封装了十分强大的遍历功能,使用也很方便,它可以遍历一维数组、多维数组、DOM, JSON 等等在javaScript开发过程中使用$each可以大大的减轻我们的工作量。下面提一下each的几种常用的用法??each处理一维数组??var?arr1?=?[?aaa,?bbb,?ccc?];??????? $.each(arr1,?function(i,val){????????????alert(i);?????????alert(val);??});???alert(i)将输出0,1,2alert(val)将输出aaa,bbb,ccc??each处理二维数组 ?  var?arr2?=?[[a,?aa,?aaa],?[b,?bb,?bbb],?[c,?cc,?ccc]]??????  $.each(arr,?function(i,?item){????????????alert(i);?????????alert(item);??????  });??arr2为一个二维数组,item相当于取这二维数组中的每一个数组。item[0]相对于取每一个一维数组里的第一个值? ?alert(i)将输出为0,1,2,因为这二维数组含有3个数组元素alert(item)将输出为? [a, aa, aaa],[b, bb, bbb],[c, cc, ccc]?对此二位数组的处理稍作变更之后?var?arr?=?[[a,?aa,?aaa],?[b,?bb,?bbb],?[c,?cc,?ccc]]???????  $.each(arr,?function(i,?item){????????????  $.each(item,function(j,val){???????    ?alert(j);????????    alert(val);???? });?});?????alert(j)将输出为0,1,2,0,1,2,0,1,2?alert(val)将输出为a,aa,aaa,b,bb,bbb,c,cc,ccc???each处理json数据,这个each就有更厉害了,能循环每一个属性??? ??  var?obj?=?{?one:1,?two:2,?three:3};???????  each(obj,?function(key,?val)?{????????????  alert(key);?????????  alert(val);???????  });???这里alert(key)将输出one two threealert(val)将输出one,1,two,2,three,3这边为何key不是数字而是属性呢,因为json格式内是一组无序的属性-值,既然无序,又何来数字呢。而这个val等同于obj[key]?ecah处理dom元素,此处以一个input表单元素作为例子。如果你dom中有一段这样的代码input name=aaa type=hidden value=111 /input name=bbb type=hidden value=222 /input name=ccc type=hidden value=333 /input name=ddd type=hidden? value=444/然后你使用each如下?$.each($(input:hidden), function(i,val){ ??? ? alert(val);?? ? alert(i);???? alert();?? ? alert(val.value);? ??});??那么,alert(val)将输出[object HTMLInputElement],因为它是一个表单元素。 ??alert(i)将输出为0,1,2,3?alert();将输出aaa,bbb,ccc,ddd,如果使用将输出同样的结果alert(val.value);? 将输出111,222,333,444,如果使用this.value将输出同样的结果?如果将以上面一段代码改变成如下的形式??$(input:hidden).each(function(i,val){????alert(i);????alert();????alert(val.value);???????});?可以看到,输出的结果是一样的,至于两种写法究竟区别在哪,我也还不知。此改变运用到上面几段数组的操作也会输出同样的结果。?这样,几个例子的实际结果已经得到答案。接着再继续往下研究,总不能知其然不知其所以然。?从以上的例子中可知jQuery和jQuery对象都实现了该方法,对于jQuery对象,只是把each方法简单的进行了委托:

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档