A-A+

深入解析jQuery $.each的使用方法

2016年01月08日 前端设计 暂无评论 阅读 5 views 次

each在jquery中常用于遍历数组与遍历对象了,下文小编整理了很多的关于jQuery $.each的使用方法例子,希望能帮助到大家。

通过jQuery $.each,你可以遍历对象、数组的属性值并进行处理。

使用说明:

each函数根据参数的类型实现的效果不完全一致:

1、遍历对象(有附加参数),代码如下:

  1. $.each(Object, function(p1, p2) {  
  2.   
  3.      this;       //这里的this指向每次遍历中Object的当前属性值  
  4.   
  5.      p1; p2;     //访问附加参数  
  6.   
  7. }, [‘参数1′, ‘参数2′]);  

2、遍历数组(有附件参数),代码如下:

  1. $.each(Array, function(p1, p2){  
  2.   
  3.      this;       //这里的this指向每次遍历中Array的当前元素  
  4.   
  5.      p1; p2;     //访问附加参数  
  6.   
  7. }, [‘参数1′, ‘参数2′]);  

3、遍历对象(没有附加参数),代码如下:

  1. $.each(Object, function(name, value) {  
  2.   
  3.      this;      //this指向当前属性的值  
  4.   
  5.      name;      //name表示Object当前属性的名称  
  6.   
  7.      value;     //value表示Object当前属性的值  
  8.   
  9. });  

4、遍历数组(没有附加参数),代码如下:

  1. $.each(Array, function(i, value) {  
  2.   
  3.      this;      //this指向当前元素  
  4.   
  5.      i;         //i表示Array当前下标  
  6.   
  7.      value;     //value表示Array当前元素  
  8.   
  9. });  

下面提一下jQuery的each方法的几种常用的用法

Js代码:

  1. var arr = [ “one”, “two”, “three”, “four”];  
  2. $.each(arr, function(){  
  3. alert(this);  
  4. });  
  5. //上面这个each输出的结果分别为:one,two,three,four  
  6.   
  7. var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]  
  8. $.each(arr1, function(i, item){  
  9. alert(item[0]);  
  10. });  
  11. //其实arr1为一个二维数组,item相当于取每一个一维数组,  
  12. //item[0]相对于取每一个一维数组里的第一个值  
  13. //所以上面这个each输出分别为:1   4   7  
  14.   
  15. var obj = { one:1, two:2, three:3, four:4};  
  16. $.each(obj, function(key, val) {  
  17. alert(obj[key]);  
  18. });  
  19. //这个each就有更厉害了,能循环每一个属性  
  20. //输出结果为:1   2  3  4  
  21.   
  22. That which didn’t kill me makes me stronger  

jquery each()方法的巧妙使用

alt="jquery each()方法的巧妙使用" 有时候我们在写jquery的时候,特别是面对一些父元素下同一类子元素进行一些统一的操作,这时候我们可以考虑使用jquery的each()方法,下面举个例子说明,代码如下:

  1. $(function () {  
  2.     /*长条导航*/  
  3.     $("#lmlbl  li:eq(0)").attr("class""cll sell");  
  4.     $("#lmnrl  div:eq(0)").show();  
  5.     $("#lmlbl li").each(function (i) {  
  6.         $(this).mouseover(function () {  
  7.             $(this).attr("class""cll sell").siblings("li").attr("class""cll");  
  8.             $("#lmnrl  div").hide();  
  9.             $("#lmnrl  div:eq(" + i + ")").show();  
  10.         });  
  11. });  

这个是做一个导航鼠标经过某个li时给它进行变动,采用each()函数我们可以很方便的获取到我们到底触发了ul里边的哪一个li元素,这样我们就能很准确的去给某个li赋予变动或者不赋予变动,用起来很方便吧,如果是进行一些比较简单的,栏目切换,我觉得我有一段很简练的代码可以供大家参考,代码如下:

  1. //TAB切换  
  2. function SwapTab(name,title,content,Sub,cur){  
  3.   $(name+' '+title).mouseover(function(){  
  4.    $(this).addClass(cur).siblings().removeClass(cur);  
  5.    $(content+" > "+Sub).eq($(name+' '+title).index(this)).show().siblings().hide();  
  6.   });  
  7. }  

这一段代码写的很精练,就可以轻轻松松的帮我们实现栏目的切换效果。

标签:

给我留言