jquery之筛选

1.过滤

eq(index|-index)
eq与nth-child
eq索引从0开始,若为负数,代表倒序从最后一个开始
nth-child找的也是同级的某个元素,但是索引从1开始

console.log($("ul>li").eq(1));
console.log($("ul>li").eq(-1));
console.log($("ul>li:nth-child(1)"));

first() 获取第一个元素
last()

console.log($("ul>li").first());
console.log($("ul>li").last());

hasClass(class) 返回值是布尔类型

console.log($("ul>li").hasClass("myli"));  //返回true   false

filter(expr|obj|ele|fn)
参数写名称时要加 .或者 #

console.log($("ul>li").filter(".myli"));
//相当于遍历
console.log($("ul>li").filter(function (index, html) {
     console.log(index, html);
     //console.log($(this));
     //hasClass是jquery的方法
     //ele  是jquery dom 还是js dom?   是js对象
     //如果要使用该方法   将ele  js对象转化为jquery对象   $(ele)
     if ($(html).hasClass("myli")) {
         //return $(html)
         return ".myli"    //.myli   即选择器,直接就是jquery
     }
}));

is(expr|obj|ele|fn) 返回值是布尔类型

console.log($("ul>li").is(".myli"));
console.log($("ul>li").is($(".myli")));
 $("ul>li").filter(function (index,ele) {
     console.log(index, ele);
     if($(ele).is(".myli")){
         console.log("找到了");
     }
 })
 console.log($("ul>li").is(function (index, ele) {
     console.log(index, ele);
     if ($(ele).hasClass("myli")) {
         console.log("找到了");
         return $(ele)
     }
}));

map(callback)

console.log($("ul>li").map(function (index, ele) {
     console.log(index, ele);
     //return $(ele).html();
     return ele;               //ele是一个是一个js对象,map映射后变为一个jquery对象
}).get());                     //返回的是一个jquery 对象,加get()后变为dom对象(即数组)

 //下面两者等效    get()返回的是js对象    不同于eq()它返回的是jquery对象
console.log($("ul>li")[0]);
console.log($("ul>li").get(0));

has(expr|ele) 存在父子关系,找子代的某个元素

 //has()   父子关系中,保留父元素
 console.log($("ul").has(".myli"));

not(expr|ele|fn)

//not    除去指定元素后所保留的
console.log($("ul>li").not(".myli"));
console.log($("ul>li").not($(".myli")));
console.log($("ul>li").not(function (index, ele) {
     console.log(index, ele);
     if ($(ele).is(".myli")) {
         return ele;  //除去myli的其他li
     }
 }));

slice(start,[end])
参数start end

console.log($("ul>li").slice(1, 3));
console.log($("ul>li").filter(".myli"));//选出含有myli的那个
console.log($("ul>li").filter(function (index, ele) {
	console.log(index, ele);
	if ($(ele).hasClass("myli")) {
    return $(ele);
	//return ele;
	//return "myli";
	//return ".myli";
}
}));

2.查找

children([expr]) 存在父子关系 直接子元素(不跨辈)

console.log($(".menu").children());  //相当于ul>li
console.log($(".menu>li"));
console.log($(".menu li"));
console.log($(".menu").children(".li3"));

find(e|o|e) expr jquery对象 ele 存在父子关系

console.log($(".menu").find(".li3"));
console.log($(".menu").find(".myli"));
console.log($(".menu").find($(".li3")));
console.log($(".menu").find($(".li3").get(0)));

next([expr]) 当前元素的下一个(紧挨着的那个同级元素)

console.log($(".menu").find(".li3").next());
console.log($(".menu").find(".li3").next(".lichild"));

nextAll([expr]) 当前元素的后面所有同级元素

console.log($(".menu").find(".li3").nextAll());
console.log($(".menu").find(".li3").nextAll(".lichild"));

offsetParent() 获取最近一级含有position的父级元素

console.log($(".li3").offsetParent());

parent([expr]) 只找父元素
parents 找所有祖先元素(包括body html等祖先元素)

console.log($(".myli").parent());
console.log($(".myli").parents());
console.log($(".myli").parents(".menu"));

prev([expr])
prevAll([expr])
prev prevAll与next nextAll相对

console.log($(".li3").prev());
console.log($(".li3").prevAll());
console.log($(".li3").prevAll("p"));

siblings([expr]) 所有兄弟元素(同级元素)

console.log($(".li3").siblings());
console.log($(".li3").siblings("p"));

3.串联

add(e|e|h|o[,c])1.9*
addBack()1.9+
contents()
end()

console.log($("p").add($("span")));
contents  获取当前元素的所有子节点 (包括回车)
console.log($(".myp").contents());
//end   回到上一次破坏性修改
console.log($("ul").find("li").slice(0, 2).end());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值