Jquery中对数组的操作代码

 更新时间:2011年08月12日 11:30:45   作者:  
众所周知,Jquery是对JavaScript的一种高效的封装,所以Jquery要操作的数组即是JavaScript中的数组,在 JavaScript中我们使用for以及for-in进行数组的操作
而在Jquery中则使用$.map()、$.each()来操作数组:
首先是普通的数组(索引为整数的数组):
复制代码 代码如下:

$.map(arr,fn);
对数组中的每个元素调用fn函数逐个进行处理,fn函数将处理返回最后得到的一个新的数组
var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];
var newarr = $.map(arr, function(item) {return item*2 });
alert(newarr);
$.each(array,fn)对数组array每个元素调用fn函数进行处理,没有返回值
var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];
$.each(arr, function(key, value) { alert("key:" + key + "value:" + value); });
还可以省略function的参数,这个时候this可以得到遍历的当前元素的值
var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];
$.each(arr, function() { alert(this); });

然后是索引为字符串的 键值对数组,针对这类数组,
一般采用$.each(array,fn)来操作:
var arr = { "jim": "11", "tom": "12", "lilei": "13" };
$.each(arr, function(key, value) { alert("姓名:"+key+"年龄:"+value); });
当然也可以使用无参的的function进行遍历;
当这类数据从服务器端获取时可以如下进行:
服务器端:
复制代码 代码如下:

<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using System.Web.Script.Serialization;
using System.Collections.Generic;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
Person p1 = new Person { Age = "22", Name = "tom" };
Person p2 = new Person { Age = "23", Name = "jim" };
Person p3 = new Person { Age = "24", Name = "lilei" };
IList<Person> persons = new List<Person> {p1,p2,p3};
JavaScriptSerializer js = new JavaScriptSerializer();
string s= js.Serialize(persons);
context.Response.Write(s);
}
public class Person
{
public string Name { get; set; }
public string Age { get; set; }
}
public bool IsReusable {
get {
return false;
}
}
}

先实例化了三个person对象,然后放到一个集合中,最后把这个集合序列化成字符串流到客户端;
客户端:
客户端通过$.parseJSON()将后台传递过来的字符串转化为js数组对象,接下来我们就使用操作普通数组的方式来操作这个得到的数组
第三种就是通过标签选择器获取的Jquery对象数组,
复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="../myjs/jquery-1.4.2.js" type="text/javascript"></script>
<script type ="text/javascript" >
$(function() {
$("p").text("这是p标签");
});
</script>
</head>
<body>
<p></p>
<p></p> <p></p> <p></p> <p></p>
<p></p>
</body>
</html>

在浏览器中运行的效果为:

在dom加载完成后为每一个p元素动态的添加了文本,首先$("p")获取p标签的集合,相当于Javascript中的 document.getElementByTagName只是这里得到的是Jquery对象的数组,这样就有了Jquery固有的隐式迭代的功能,后面的text("这是p标签")的操作就迭代到了每一个P标签上,我们也可以显示的调用each函数来显示的迭代获得的Jquery对象数组,下面的代码同样可以实现上面的效果:
复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="../myjs/jquery-1.4.2.js" type="text/javascript"></script>
<script type ="text/javascript" >
$(function() {
$("p").each(function() {
$(this).text("这是p标签");
});
});
</script>
</head>
<body>
<p></p>
<p></p> <p></p> <p></p> <p></p>
<p></p>
</body>
</html>

相关文章

  • jquery 实现窗口的最大化不论什么情况

    jquery 实现窗口的最大化不论什么情况

    无论浏览器处于什么样的设置,都要让这个弹出的窗口最大化,那么怎么办呢?下面为大家介绍下让浏览器窗口从默认大小变成我们自己的设置
    2013-09-09
  • 一个背景云变换js特效 鼠标移动背景云变化

    一个背景云变换js特效 鼠标移动背景云变化

    分享一个背景云变换js特效随着鼠标的移动,背景云会不断的变化位置和形状,感兴趣的朋友可以研究下
    2012-12-12
  • jquery专业的导航菜单特效代码分享

    jquery专业的导航菜单特效代码分享

    这篇文章主要介绍了jquery专业的下拉菜单特效,一个精致的导航菜单会吸引用户的注意力,让用户产生浏览网站的兴趣至关重要,现在小编推荐给大家一款特别棒的导航菜单,感兴趣的小伙伴可以参考下。
    2015-08-08
  • jQuery使用each方法与for语句遍历数组示例

    jQuery使用each方法与for语句遍历数组示例

    这篇文章主要介绍了jQuery使用each方法与for语句遍历数组,结合实例形式简单对比分析了两种方法在遍历数组时的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • jquery提示效果实例分析

    jquery提示效果实例分析

    这篇文章主要介绍了jquery提示效果,以一个简单实例较为详细的分析了jQuery提示效果的实现方法与相关注意事项,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • 基于jquery插件编写countdown计时器

    基于jquery插件编写countdown计时器

    这篇文章主要为大家详细介绍了jquery插件编写countdown计时器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 基于jquery.page.js实现分页效果

    基于jquery.page.js实现分页效果

    这篇文章主要为大家详细介绍了基于jquery.page.js实现的分页效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • jquery中each循环的简单回滚操作

    jquery中each循环的简单回滚操作

    本篇文章主要介绍了jquery中each循环的简单回滚操作的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-05-05
  • 基于DOM节点删除之empty和remove的区别(详解)

    基于DOM节点删除之empty和remove的区别(详解)

    下面小编就为大家带来一篇基于DOM节点删除之empty和remove的区别(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • jQuery实现的指纹扫描效果实例(附演示与demo源码下载)

    jQuery实现的指纹扫描效果实例(附演示与demo源码下载)

    这篇文章主要介绍了jQuery实现的指纹扫描效果,以完整实例形式分析了jQuery实现图像按照指定模式显示的相关实现技巧,并附带附示例演示与demo源码供读者下载参考,需要的朋友可以参考下
    2016-01-01

最新评论