您的位置:首页 > Web前端 > JQuery

jQuery 笔记 —— $.each、$().each方法 与 选择器过滤写法

2017-10-09 23:13 423 查看
一、$.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 此方式无效,其它都可以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: