您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“jQuery數(shù)組的三種類型和操作方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“jQuery數(shù)組的三種類型和操作方法”吧!
眾所周知,jQuery是對(duì)JavaScript的一種高效的封裝,所以jQuery要操作的數(shù)組即是JavaScript中的數(shù)組,在JavaScript中我們使用for以及for-in進(jìn)行數(shù)組的操作,而在jQuery中則使用$.map()、$.each()來(lái)操作數(shù)組:
首先是普通的數(shù)組(索引為整數(shù)的數(shù)組):
$.map(arr,fn);
對(duì)數(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);
還可以省略function的參數(shù),這個(gè)時(shí)候this可以得到遍歷的當(dāng)前元素的值
var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]; $.each(arr, function(key, value) { alert("key:" + key + "value:" + value); });
然后是索引為字符串的 鍵值對(duì)數(shù)組,針對(duì)這類數(shù)組,
一般采用$.each(array,fn)來(lái)操作:
var arr = { "jim": "11", "tom": "12", "lilei": "13" }; $.each(arr, function(key, value) { alert("姓名:"+key+"年齡:"+value); });
當(dāng)然也可以使用無(wú)參的的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對(duì)象,然后放到一個(gè)集合中,***把這個(gè)集合序列化成字符串流到客戶端;
客戶端:
<!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" > $.get("Handler.ashx", function(data) { var persons = $.parseJSON(data); $.each(persons, function(key, person) { alert("Age:"+person.Age+"Name:"+person.Name) }); }); </script> </head> <body> </body> </html>
客戶端通過(guò)$.parseJSON()將后臺(tái)傳遞過(guò)來(lái)的字符串轉(zhuǎn)化為js數(shù)組對(duì)象,接下來(lái)我們就使用操作普通數(shù)組的方式來(lái)操作這個(gè)得到的數(shù)組
第三種就是通過(guò)標(biāo)簽選擇器獲取的jQuery對(duì)象數(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對(duì)象的數(shù)組,這樣就有了jQuery固有的隱式迭代的功能,后面的text("這是p標(biāo)簽")的操作就迭代到了每一個(gè)P標(biāo)簽上,我們也可以顯示的調(diào)用each函數(shù)來(lái)顯示的迭代獲得的jQuery對(duì)象數(shù)組,顯示的調(diào)用each可以看作是對(duì)$.each()的簡(jiǎn)化調(diào)用,下面的代碼同樣可以實(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>
到此,相信大家對(duì)“jQuery數(shù)組的三種類型和操作方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。