西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发javascript|JQuery → Jquery中是如何对数组进行操作的?

Jquery中是如何对数组进行操作的?

相关软件相关文章发表评论 来源:本站整理时间:2011/1/14 22:16:56字体大小:A-A+

作者:佚名点击:1299次评论:0次标签: Jquery

  • 类型:编程辅助大小:109KB语言:中文 评分:5.0
  • 标签:
立即下载
 众所周知,Jquery是对JavaScript的一种高效的封装,所以Jquery要操作的数组即是JavaScript中的数组,在JavaScript中我们使用for以及for-in进行数组的操作,而在Jquery中则使用$.map()、$.each()来操作数组:

首先是普通的数组(索引为整数的数组):
$.map(arr,fn);
对数组中的每个元素调用fn函数逐个进行处理,fn函数将处理返回最后得到的一个新的数组
1 var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];

2 var newarr = $.map(arr, function(item) {return item*2 });

3 alert(newarr);





$.each(array,fn)对数组array每个元素调用fn函数进行处理,没有返回值


1 var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];

2 $.each(arr, function(key, value) { alert("key:" + key + "value:" + value); });


还可以省略function的参数,这个时候this可以得到遍历的当前元素的值

1 var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];

2 $.each(arr, function() { alert(this); });


然后是索引为字符串的 键值对数组,针对这类数组,
一般采用$.each(array,fn)来操作:




view sourceprint?1 var arr = { "jim": "11", "tom": "12", "lilei": "13" };

2 $.each(arr, function(key, value) { alert("姓名:"+key+"年龄:"+value); });



当然也可以使用无参的的function进行遍历;

当这类数据从服务器端获取时可以如下进行:

服务器端:



01 <%@ WebHandler Language="C#" Class="Handler" %>

02

03 using System;

04 using System.Web;

05 using System.Web.Script.Serialization;

06 using System.Collections.Generic;

07 public class Handler : IHttpHandler {

08

09 public void ProcessRequest (HttpContext context) {

10 context.Response.ContentType = "text/plain";

11 Person p1 = new Person { Age = "22", Name = "tom" };

12 Person p2 = new Person { Age = "23", Name = "jim" };

13 Person p3 = new Person { Age = "24", Name = "lilei" };

14 IList<Person> persons = new List<Person> {p1,p2,p3};

15 JavaScriptSerializer js = new JavaScriptSerializer();

16 string s= js.Serialize(persons);

17 context.Response.Write(s);

18 }

19

20 public class Person

21 {

22 public string Name { get; set; }

23 public string Age { get; set; }

24 }

25 public bool IsReusable {

26 get {

27 return false;

28 }

29 }

30

31 }


先实例化了三个person对象,然后放到一个集合中,最后把这个集合序列化成字符串流到客户端;



客户端:


01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

02

03 <html xmlns="http://www.w3.org/1999/xhtml">

04 <head>

05 <title></title>

06

07 <script src="../myjs/jquery-1.4.2.js" type="text/javascript"></script>

08 <script type ="text/javascript" >

09 $.get("Handler.ashx", function(data) {

10 var persons = $.parseJSON(data);

11 $.each(persons, function(key, person) {

12 alert("Age:"+person.Age+"Name:"+person.Name) });

13 });

14 </script>

15 </head>

16 <body>

17

18 </body>

19 </html>




客户端通过$.parseJSON()将后台传递过来的字符串转化为js数组对象,接下来我们就使用操作普通数组的方式来操作这个得到的数组


第三种就是通过标签选择器获取的Jquery对象数组,




01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

02

03 <html xmlns="http://www.w3.org/1999/xhtml">

04 <head>

05 <title></title>

06

07 <script src="../myjs/jquery-1.4.2.js" type="text/javascript"></script>

08 <script type ="text/javascript" >

09 $(function() {

10 $("p").text("这是p标签");

11 });

12 </script>

13 </head>

14 <body>

15 <p></p>

16 <p></p> <p></p> <p></p> <p></p>

17 <p></p>

18 </body>

19 </html>



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



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



01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

02

03 <html xmlns="http://www.w3.org/1999/xhtml">

04 <head>

05 <title></title>

06

07 <script src="../myjs/jquery-1.4.2.js" type="text/javascript"></script>

08 <script type ="text/javascript" >

09 $(function() {

10 $("p").each(function() {

11 $(this).text("这是p标签");

12 });

13 });

14 </script>

15 </head>

16 <body>

17 <p></p>

18 <p></p> <p></p> <p></p> <p></p>

19 <p></p>

20 </body>

21 </html>
    html编辑器
    (73)html编辑器
    我们做网页的时候最难找的就是编辑器,网上找一个吧,要不是图片上传错误,就是到处都是错误,垃圾太多.大家都需要一个简单,速度快的.西西为您提供最好用的编辑器一站式下载编辑器定义编辑器指的是一类编辑制作工具,可自定义窗囗,编辑主题索引,可选择添搜索页,无任何不自由。编辑器哪个好用小编个人比较喜欢使用和,这两款编辑器软件都有不错的表现。至于编辑器哪个好用,这就要根据你的个人需求去选择对应的编辑器啦...更多>>
    dreamweaver cs6
    (14)dreamweaver cs6
    新版本使用了自适应网格版面创建页面,在发布前使用多屏幕预览审阅设计,可大大提高工作效率。改善的性能,更高效地传输大型文件。实时视图和多屏幕预览面板可呈现代码,更能够检查自己的工作。曾经风靡一时的网页三剑客成员之一是目前应用最广的网页制作软件,原本是由公司所开发的著名网站开发工具,随被收购后,改名为。它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,以及在之后推出的针对专业网页图像设计的,三者...更多>>

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)