jQuery 筆記 —— $.each、$().each方法 與 選擇器過濾寫法
阿新 • • 發佈:2019-01-05
一、$.each 與$().each
簡單區別:
$.each 引數可對任意物件進行操作,$().each 可見是對選擇器所選的元素進行操作。
原理:
是通過call 與apply 方法實現的。
$.each 用法一:
$.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(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 此方式無效,其它都可以。