- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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方法简单的进行了委托:
您可能关注的文档
最近下载
- GB∕T 37903-2019 数控压力机可靠性评定方法.pdf
- SL 274-2020 碾压式土石坝设计规范.docx
- 《植物生产与环境》课程标准.pdf VIP
- 《植物生产与环境》课程标准.pdf
- bosch博世 GBH 5-38 X GBH 5-38 D 使用说明书.pdf
- 最新版入团志愿书模板.pdf
- 职业技术学院园林技术专业《植物生产环境》课程标准 .pdf VIP
- 国内某600MW机组双烟道直流炉省煤器旁路特性研究.pdf VIP
- 《中医基础理论》课件——津液的代谢和生理功能.pptx VIP
- 8 推翻帝制 民族觉醒 第一课时说课稿 -2023-2024学年道德与法治五年级下册统编版.docx
文档评论(0)