Jquery中對數(shù)組的操作代碼
更新時(shí)間:2011年08月12日 11:30:45 作者:
眾所周知,Jquery是對JavaScript的一種高效的封裝,所以Jquery要操作的數(shù)組即是JavaScript中的數(shù)組,在 JavaScript中我們使用for以及for-in進(jìn)行數(shù)組的操作
而在Jquery中則使用$.map()、$.each()來操作數(shù)組:
首先是普通的數(shù)組(索引為整數(shù)的數(shù)組):
$.map(arr,fn);
對數(shù)組中的每個(gè)元素調(diào)用fn函數(shù)逐個(gè)進(jìn)行處理,fn函數(shù)將處理返回最后得到的一個(gè)新的數(shù)組
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)對數(shù)組array每個(gè)元素調(diào)用fn函數(shù)進(jìn)行處理,沒有返回值
var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];
$.each(arr, function(key, value) { alert("key:" + key + "value:" + value); });
還可以省略function的參數(shù),這個(gè)時(shí)候this可以得到遍歷的當(dāng)前元素的值
var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];
$.each(arr, function() { alert(this); });
然后是索引為字符串的 鍵值對數(shù)組,針對這類數(shù)組,
一般采用$.each(array,fn)來操作:
var arr = { "jim": "11", "tom": "12", "lilei": "13" };
$.each(arr, function(key, value) { alert("姓名:"+key+"年齡:"+value); });
當(dāng)然也可以使用無參的的function進(jìn)行遍歷;
當(dāng)這類數(shù)據(jù)從服務(wù)器端獲取時(shí)可以如下進(jìn)行:
服務(wù)器端:
<%@ 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;
}
}
}
先實(shí)例化了三個(gè)person對象,然后放到一個(gè)集合中,最后把這個(gè)集合序列化成字符串流到客戶端;
客戶端:
客戶端通過$.parseJSON()將后臺(tái)傳遞過來的字符串轉(zhuǎn)化為js數(shù)組對象,接下來我們就使用操作普通數(shù)組的方式來操作這個(gè)得到的數(shù)組
第三種就是通過標(biāo)簽選擇器獲取的Jquery對象數(shù)組,
<!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標(biāo)簽");
});
</script>
</head>
<body>
<p></p>
<p></p> <p></p> <p></p> <p></p>
<p></p>
</body>
</html>
在瀏覽器中運(yùn)行的效果為:

在dom加載完成后為每一個(gè)p元素動(dòng)態(tài)的添加了文本,首先$("p")獲取p標(biāo)簽的集合,相當(dāng)于Javascript中的 document.getElementByTagName只是這里得到的是Jquery對象的數(shù)組,這樣就有了Jquery固有的隱式迭代的功能,后面的text("這是p標(biāo)簽")的操作就迭代到了每一個(gè)P標(biāo)簽上,我們也可以顯示的調(diào)用each函數(shù)來顯示的迭代獲得的Jquery對象數(shù)組,下面的代碼同樣可以實(shí)現(xiàn)上面的效果:
<!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標(biāo)簽");
});
});
</script>
</head>
<body>
<p></p>
<p></p> <p></p> <p></p> <p></p>
<p></p>
</body>
</html>
首先是普通的數(shù)組(索引為整數(shù)的數(shù)組):
復(fù)制代碼 代碼如下:
$.map(arr,fn);
對數(shù)組中的每個(gè)元素調(diào)用fn函數(shù)逐個(gè)進(jìn)行處理,fn函數(shù)將處理返回最后得到的一個(gè)新的數(shù)組
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)對數(shù)組array每個(gè)元素調(diào)用fn函數(shù)進(jìn)行處理,沒有返回值
var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];
$.each(arr, function(key, value) { alert("key:" + key + "value:" + value); });
還可以省略function的參數(shù),這個(gè)時(shí)候this可以得到遍歷的當(dāng)前元素的值
var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];
$.each(arr, function() { alert(this); });
然后是索引為字符串的 鍵值對數(shù)組,針對這類數(shù)組,
一般采用$.each(array,fn)來操作:
var arr = { "jim": "11", "tom": "12", "lilei": "13" };
$.each(arr, function(key, value) { alert("姓名:"+key+"年齡:"+value); });
當(dāng)然也可以使用無參的的function進(jìn)行遍歷;
當(dāng)這類數(shù)據(jù)從服務(wù)器端獲取時(shí)可以如下進(jìn)行:
服務(wù)器端:
復(fù)制代碼 代碼如下:
<%@ 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;
}
}
}
先實(shí)例化了三個(gè)person對象,然后放到一個(gè)集合中,最后把這個(gè)集合序列化成字符串流到客戶端;
客戶端:
客戶端通過$.parseJSON()將后臺(tái)傳遞過來的字符串轉(zhuǎn)化為js數(shù)組對象,接下來我們就使用操作普通數(shù)組的方式來操作這個(gè)得到的數(shù)組
第三種就是通過標(biāo)簽選擇器獲取的Jquery對象數(shù)組,
復(fù)制代碼 代碼如下:
<!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標(biāo)簽");
});
</script>
</head>
<body>
<p></p>
<p></p> <p></p> <p></p> <p></p>
<p></p>
</body>
</html>
在瀏覽器中運(yùn)行的效果為:

在dom加載完成后為每一個(gè)p元素動(dòng)態(tài)的添加了文本,首先$("p")獲取p標(biāo)簽的集合,相當(dāng)于Javascript中的 document.getElementByTagName只是這里得到的是Jquery對象的數(shù)組,這樣就有了Jquery固有的隱式迭代的功能,后面的text("這是p標(biāo)簽")的操作就迭代到了每一個(gè)P標(biāo)簽上,我們也可以顯示的調(diào)用each函數(shù)來顯示的迭代獲得的Jquery對象數(shù)組,下面的代碼同樣可以實(shí)現(xiàn)上面的效果:
復(fù)制代碼 代碼如下:
<!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標(biāo)簽");
});
});
</script>
</head>
<body>
<p></p>
<p></p> <p></p> <p></p> <p></p>
<p></p>
</body>
</html>
您可能感興趣的文章:
- JavaScript jQuery 中定義數(shù)組與操作及jquery數(shù)組操作
- jquery操作對象數(shù)組元素方法詳解
- Jquery操作js數(shù)組及對象示例代碼
- Jquery 數(shù)組操作大全個(gè)人總結(jié)
- 基于jQuery中對數(shù)組進(jìn)行操作的方法
- 利用jQuery操作對象數(shù)組的實(shí)現(xiàn)代碼
- Jquery知識點(diǎn)二 jquery下對數(shù)組的操作
- jquery下json數(shù)組的操作實(shí)現(xiàn)代碼
- jQuery 對象中的類數(shù)組操作
- 淺談jQuery操作類數(shù)組的工具方法
相關(guān)文章
jquery 實(shí)現(xiàn)窗口的最大化不論什么情況
無論瀏覽器處于什么樣的設(shè)置,都要讓這個(gè)彈出的窗口最大化,那么怎么辦呢?下面為大家介紹下讓瀏覽器窗口從默認(rèn)大小變成我們自己的設(shè)置2013-09-09
一個(gè)背景云變換js特效 鼠標(biāo)移動(dòng)背景云變化
分享一個(gè)背景云變換js特效隨著鼠標(biāo)的移動(dòng),背景云會(huì)不斷的變化位置和形狀,感興趣的朋友可以研究下2012-12-12
jQuery使用each方法與for語句遍歷數(shù)組示例
這篇文章主要介紹了jQuery使用each方法與for語句遍歷數(shù)組,結(jié)合實(shí)例形式簡單對比分析了兩種方法在遍歷數(shù)組時(shí)的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
基于jquery插件編寫countdown計(jì)時(shí)器
這篇文章主要為大家詳細(xì)介紹了jquery插件編寫countdown計(jì)時(shí)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06
基于jquery.page.js實(shí)現(xiàn)分頁效果
這篇文章主要為大家詳細(xì)介紹了基于jquery.page.js實(shí)現(xiàn)的分頁效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
基于DOM節(jié)點(diǎn)刪除之empty和remove的區(qū)別(詳解)
下面小編就為大家?guī)硪黄贒OM節(jié)點(diǎn)刪除之empty和remove的區(qū)別(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
jQuery實(shí)現(xiàn)的指紋掃描效果實(shí)例(附演示與demo源碼下載)
這篇文章主要介紹了jQuery實(shí)現(xiàn)的指紋掃描效果,以完整實(shí)例形式分析了jQuery實(shí)現(xiàn)圖像按照指定模式顯示的相關(guān)實(shí)現(xiàn)技巧,并附帶附示例演示與demo源碼供讀者下載參考,需要的朋友可以參考下2016-01-01

