each()函數是基本上全部的框架都提供了的一個工具類函數,經過它,你能夠遍歷對象、數組的屬性值並進行處理。jQuery和jQuery對象都實 現了該方法,對於jQuery對象,只是把each方法簡單的進行了委託:把jQuery對象做爲第一個參數傳遞給jQuery的each方法.換句話 說:jQuery提供的each方法是對參數一提供的對象的中全部的子元素逐一進行方法調用。而jQuery對象提供的each方法則是對jQuery內 部的子元素進行逐個調用。數組
each函數根據參數的類型實現的效果不徹底一致:框架
一、遍歷對象(有附加參數)函數
代碼以下:
$.each(Object, function(p1, p2) {
this; //這裏的this指向每次遍歷中Object的當前屬性值
p1; p2; //訪問附加參數
}, ['參數1', '參數2']);
二、遍歷數組(有附件參數)工具
代碼以下:
$.each(Array, function(p1, p2){
this; //這裏的this指向每次遍歷中Array的當前元素
p1; p2; //訪問附加參數
}, ['參數1', '參數2']);
三、遍歷對象(沒有附加參數)this
代碼以下:
$.each(Object, function(name, value) {
this; //this指向當前屬性的值
name; //name表示Object當前屬性的名稱
value; //value表示Object當前屬性的值
});
四、遍歷數組(沒有附加參數)spa
代碼以下:
$.each(Array, function(i, value) {
this; //this指向當前元素
i; //i表示Array當前下標
value; //value表示Array當前元素
});
下面提一下jQuery的each方法的幾種經常使用的用法code
var
arr = [
"one"
,
"two"
,
"three"
,
"four"
];
$.each(arr,
function
(){
alert(
this
);
});
//上面這個each輸出的結果分別爲:one,two,three,four
var
arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]
$.each(arr1,
function
(i, item){
alert(item[0]);
});
//其實arr1爲一個二維數組,item至關於取每個一維數組,
//item[0]相對於取每個一維數組裏的第一個值
//因此上面這個each輸出分別爲:1 4 7
var
obj = { one:1, two:2, three:3, four:4};
$.each(obj,
function
(key, val) {
alert(obj[key]);
});
//這個each就有更厲害了,能循環每個屬性
//輸出結果爲:1 2 3 4