1. 程式人生 > >jQuery 筆記 —— $.each、$().each方法 與 選擇器過濾寫法

jQuery 筆記 —— $.each、$().each方法 與 選擇器過濾寫法

一、$.each 與$().each

簡單區別:

$.each 引數可對任意物件進行操作,$().each 可見是對選擇器所選的元素進行操作。

原理:

是通過call 與apply 方法實現的。

$.each 用法一:

var obj = {id:"id",name:"name"};
$.each(obj,function(){
    //此處this 指代當前遍歷到的obj 的胞元素,即屬性鍵值對
    alert(this.id);//提示"id"
});
var obj2 = [{id:"id1"},{id:"id2"}];
$.each(obj2,function(){
    //此處this 指代當前遍歷到的obj 的胞元素,即陣列
    alert(this.id);//提示"id1","id2"
});
var eles = $("div");
$.each(eles,function(){
    //此處this,指當前遍歷到的eles 集合中div元素
})
$.each 用法二:
$.each(obj,function(i,data){
    //i為當前遍歷到的胞元素的索引,data為遍歷到的胞元素
});

$().each() 相當於是在$.each() 的基礎上把操作物件限制為元素了。

$().each() 用法一:

$("div").each(function(){
    //this 指當前遍歷到的div 元素
});

$().each() 用法二:

$("div").each(function(i){
    //this 同上。i為當前索引
});

即兩個方法都有兩種基本用法,即回撥函式有無引數。

如何退出each 的方法迴圈?

只需在內部返回true 即可退出本次,迴圈,相當於普通for 迴圈的continue 。


二、jQuery 選擇器過濾

遍歷元素中的過濾器有:first、last、eq、filter、not。

使用方式一:

var ele = $(".colorRed").first();
var ele = $(".colorRed").last();
var ele = $(".colorRed").eq(0);
var ele = $(".colorRed").filter("p");
var ele = $(".colorRed").not("p");

簡單說明:

first():只取找到的元素中的第一個(不管前面該元素前面有沒有相同標籤的元素)。

last():與first 方法,取最後一個。

eq(index):取指定索引對應的元素。

filter():只取符合條件的元素。

not():與filter 相反,取不符合該天劍的元素。

使用方式二:

var ele = $(".colorRed:first()");
var ele = $(".colorRed:last()");
var ele = $(".colorRed:eq(0)");
var ele = $(".colorRed:filter('.fontBold')");//filter此種方式無效
var ele = $(".colorRed:not('fontBold')");

只是寫法不同,可以與選擇器寫在一起。注意filter 此方式無效,其它都可以。