热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

概述jQuery的元素筛选

这篇文章主要介绍了jQuery的元素筛选,并举例进行说明,希望对大家有所帮助

1、eq()    筛选指定索引号的元素
2、first()  筛选出第一个匹配的元素
3、last()   筛选出最后一个匹配的元素
4、hasClass()  检查匹配的元素是否含有指定的类
5、filter()  筛选出与指定表达式匹配的元素集合
6、is()    检查元素是否参数里能匹配上的
7、map()
8、has()  筛选出包含指定子元素的元素
9、not()  排除能够被参数中匹配的元素
10、slice()    从指定索引开始,截取指定个数的元素
11、children()  筛选获取指定元素的资源
12、closest()   从当前元素开始,返回最先匹配到的符合条件的父元素
13、find()    从指定元素中查找子元素
14、next()     获取指定元素的下一个兄弟元素
15、nextAll()   获取其后的所有兄弟元素
16、nextUntil()  获取其后的元素,直到参数能匹配上的为止,不包括结束条件那个
17、offsetPosition()  返回第一个用于定位的祖先元素,即查找祖先元素中position为relative或absolute的元素。
18、parent()   获取指定元素的直接父元素
19、parents()   获取指定元素的所有祖先元素,一直到
20、parentsUntil()  获取指定元素的祖先元素,知道参数里能匹配到的为止
21、prev()    获取指定元素的前一个兄弟元素
22、prevAll()   获取指定元素前面的所有兄弟元素
23、prevUntil()   获取指定元素前面的所有兄弟元素,直到参数里的条件能够匹配到的。 注意参数条件本身不会被匹配
24、siblings()   获取指定元素的兄弟元素,不分前后
25、add()    将选中的元素添加到jQuery对象集合中
26、andSelf()  将自身加到选中的jQuery集合中,以方便一次性操作
27、end()     将改变当前选择器选中的操作回退为上一个状态。
28、contents  未明白

************************* 筛选 ************************************

一、eq()  筛选指定索引号的元素

  语法:eq(index|-index)  索引号从0开始,若为负值,则从最后一个开始倒数,最后一个从-1开始

  $("p").eq(1);  //如果选择器改为 $("p").eq(-1),则我是第四个P会被选中
    
  
    

我是第一个P

    

我是第二个P

  //会被选中,索引值为1     

我是第三个P

    

我是第四个P

  
  

二、first()  筛选出第一个匹配的元素

  语法:first()  此方法没有参数

  $("p").first();  
  
    

我是第一个P

  //我的索引值是0,我是第一个,我会被选中     

我是第二个P

    

我是第三个P

    

我是第四个P

  
 

 三、last()  筛选出最后一个匹配的元素

   语法:last()  此方法没有参数

  $("p").last();   
  
    

我是第一个P

    

我是第二个P

    

我是第三个P

    

我是第四个P

//我是最后一个,我会被选中   
 

四、hasClass()  检查匹配的元素是否含有指定的类

  语法:hasClass(class)  class为类别名  //返回布尔值

 if($("p").hasClass("p2"))
  {
    alert("我里面含有class=p2的元素");  //会弹出,p里的确存在class="p2"的元素
  } 
  
    

我是第一个P

    

我是第二个P

    

我是第三个P

    

我是第四个P

  
 

 五、filter()  筛选出与指定表达式匹配的元素集合

  语法:filter(expr|obj|ele|fn)  expr:匹配表达式|obj:jQuery对象,用于匹配现有元素 | DOM:用于匹配的DOM元素 | function返回值作为匹配条件

  $("p").filter(".p2");
  
    

我是第一个P

    

我是第二个P

  //我会被选中,我的class="p2"     

我是第三个P

    

我是第四个P

  
  

 六、is()    检查元素是否参数里能匹配上的

  语法:is(expr|obj|ele|fn)  expr:匹配表达式|obj:jQuery对象,用于匹配现有元素 | DOM:用于匹配的DOM元素 | function返回值作为匹配条件

  $($("p").first().is(".p2"))
  {
    alert("不会弹出,因为第一个P的class不等于p2"); 
  }
  
    

我是第一个P

    

我是第二个P

  //我会被选中,我的class="p2"     

我是第三个P

    

我是第四个P

  
 

七、map()

八、has()  筛选出包含指定子元素的元素

  语法:has(expr|ele)  expr:选择表达式 | DOM元素选择

  $("div").has("p");
  
                 //本div会被选中,因为该div含有p子元素     

我是第一个P

    

我是第二个P

    

我是第三个P

    

我是第四个P

  
  
    我是一个span   

九、not()  排除能够被参数中匹配的元素

   语法:not(expr|ele|fn)  expr:选择表达式 | DOM元素选择 | fn的作用还不清楚

  $("p").not(".p2");
  
    

我是第一个P

        //会被选中,没有class=p2     

我是第二个P

  //不会被选中,因为有class=p2被not(".p2")排除了     

我是第三个P

        //会被选中,没有class=p2     

我是第四个P

        //会被选中,没有class=p2   
 

 十、slice()  从指定索引开始,截取指定个数的元素

   语法:slice(start, [end])   start位置, end可选,结束位置,不包含结束位置那个。如果不指定,则匹配到最后一个。

  $("p").slice(1,3)
  
    

我是第一个P

        //不会被选中,我索引为0     

我是第二个P

  //会被选中,我索引为1     

我是第三个P

        //会被选中,我索引为2     

我是第四个P

        //不会被选中,虽然我的索引为3,但是不包括我   

********************** 筛选 *********************************

十一、children()  筛选获取指定元素的资源

   语法:children(expr);  获取指定元素的资源,expr为子元素筛选条件

  $("div").children(".p2");
 
  
    

我是第一个P

        //不会被选中,虽然我是div的子元素,但是我没class=p2     

我是第二个P

  //会被选中,我既是p的子元素,又有class=p2     

我是第三个P

        //不会被选中,虽然我是div的子元素,但是我没class=p2     

我是第四个P

        //不会被选中,虽然我是div的子元素,但是我没class=p2   

 十二、closest()  从当前元素开始,返回最先匹配到的符合条件的父元素

  $("span").closest("p","div");
  
                   //不会被选中,被P抢了先机     

我是第一个P            //P会被选中,因为P符合条件,而且是最先匹配到的,虽然div也符合条件了,但是div不是最先匹配到的。因此div不会被选中。       我是P里的span     

  
 

十三、find()    从指定元素中查找子元素

   语法:find(expr|obj|ele)  expr:匹配表达式 | obj用于匹配的jQuery对象 | DOM元素

  $("div").find(".p2");    
  
    

我是第一个P

        //不会被选中,虽然我是div的子元素,但是我没class=p2     

我是第二个P

  //会被选中,我既是p的子元素,又有class=p2     

我是第三个P

        //不会被选中,虽然我是div的子元素,但是我没class=p2     

我是第四个P

        //不会被选中,虽然我是div的子元素,但是我没class=p2   
 

十四、next()    获取指定元素的下一个兄弟元素

   语法:next(expr)  expr:可选,筛选条件,如果下一个兄弟元素不符合改条件,则返回空。

  $(".p2").next();    //如果筛选改为$(".p2").next(".p4")那选中的是哪个呢?答案是:没选中任何元素,因为虽然有个class=p4的P,但它不是.p2的下一个。      
  
    

我是第一个P

             

我是第二个P

      

我是第三个P

        //我是.p2的next     

我是第四个P

  
 

十五、nextAll()    获取其后的所有兄弟元素

    语法:nextAll(expr)  expr:可选,筛选条件,获取其后符合expr条件的所有兄弟元素

  $(".p2").nextAll();  //如果筛选条件改为 $(".p2").nextAll(".p4");  则只有我是第四个P会被选中
  
    

我是第一个P

             

我是第二个P

      

我是第三个P

        //会被选中,是.p2后面的兄弟元素     

我是第四个P

//会被选中,是.p2后面的兄弟元素   
 

十六、nextUntil()  获取其后的元素,直到参数能匹配上的为止,不包括结束条件那个

   语法:nextUntil([expr|ele][,fil])  expr筛选表达式 | DOM元素筛选,注意不包括参数里的那一个

  $(".p2").nextUntil(".p4");    //注意此方法并不会包括.p4
  
    

我是第一个P

             

我是第二个P

      

我是第三个P

        //会被选中,是.p2后面的兄弟元素     

我是第四个P

//不会被选中,我作为结束条件,但不包括我   

十七、offsetPosition()  返回第一个用于定位的祖先元素,即查找祖先元素中position为relative或absolute的元素。

   语法:offsetPosition()  此方法没有参数  由于CSS的绝对定位的定位基准是相对最近的一个已定位元素,因此此方法的作用不言而喻。

  $("span").offsetParent();
  
  //选中的是div,因此div是已定位元素。     

      我是一个span     

  

 十八、parent()    获取指定元素的直接父元素

    语法:parent(expr)  expr为筛选条件,如果直接父元素不符合条件,则不返回任何元素(无论它的祖先是否具有能与expr匹配的)

  $("span").parent();
  
       

                //我是span的直接父元素,我会被匹配到       我是一个span     

  

十九、parents()      获取指定元素的所有祖先元素,一直到

   语法:parents(expr)  expr为筛选条件,如果某个祖先元素不符合expr则排除

  $("span").parents();
  
  //我是span的祖先元素,我也会被匹配到.另外也会被匹配到       

                //我是span的直接父元素,我会被匹配到       我是一个span     

  

二十、parentsUntil()  获取指定元素的祖先元素,知道参数里能匹配到的为止

   语法:parentsUntil(expr)  expr为停止参数,一直匹配到expr为止,同时参数的条件是不会被匹配中的。

  $("span").parentsUntil("div");
  
  //我是span的祖先元素,但是我作为停止条件,我也不会被选中       

                //我是span的直接父元素,我会被选中       我是一个span     

  

 二十一、prev()    获取指定元素的前一个兄弟元素

    语法:prev(expr)    expr:可选。当上一个兄弟元素不符合参数中的条件时,不返回任何元素。

  $(".p2").prev();    
  
    

我是第一个P

      //我会被选中,我是.p2的前一个元素。     

我是第二个P

      

我是第三个P

             

我是第四个P

  

二十二、prevAll()  获取指定元素前面的所有兄弟元素

    语法:prevAll(expr)  expr:可选,排除所有不能够被expr匹配上的元素

  $(".p4").prevAll(".p2");    
  
    

我是第一个P

        //不会被选中,虽然我是.p4前面的兄弟元素,但是我没有class=p2     

我是第二个P

  //会被选中,我既是.p4前面的兄弟元素,而且我有class=p2     

我是第三个P

        //不会被选中,虽然我是.p4前面的兄弟元素,但是我没有class=p2     

我是第四个P

    

二十三、prevUntil()  获取指定元素前面的所有兄弟元素,直到参数里的条件能够匹配到的。 注意参数条件本身不会被匹配

    语法:prevUntil([expr|ele][,fil])  expr匹配表达式 | DOM元素匹配

  $(".p4").prevUntil(".p2");    
  
    

我是第一个P

        //不会被选中,到p2就停止了     

我是第二个P

  //不会被选中,我是停止条件,不包括我     

我是第三个P

        //会被选中,我在.p2前,递归到我在到.p2     

我是第四个P

 //不会被选中,我自己怎么可能是我自己前面的呢?   

/********************  串联 *******************************/

二十四、siblings()  获取指定元素的兄弟元素,不分前后

    语法:siblings(expr);  expr为筛选条件,不符合条件的不会选中

  $(".p2").siblings();    
  
    

我是第一个P

        //会被选中,我是.p2的兄弟元素     

我是第二个P

  //不会被选中,我是自己     

我是第三个P

        //会被选中,我是.p2的兄弟元素     

我是第四个P

 //会被选中,我是.p2的兄弟元素   

二十五、add()  将选中的元素添加到jQuery对象集合中

    add(expr|elements|html|jQueryObject)  expr:选择器表达式 | DOM表达式 | Html片段 | jQuery对象,将jQuery对象集合一起方便操作;

  $(".p2").add("span").css("background-color","red");    
  
    

我是第一个P

             

我是第二个P

  //会变红     

我是第三个P

             

我是第四个P

    
  我是一个span      //会变红

二十六、andSelf()  将自身加到选中的jQuery集合中,以方便一次性操作

    andSelf()  此方法无参数

  $(".p2").nextAll().andSelf().css("background-color","red");
  
    

我是第一个P

             

我是第二个P

  //会变红,这就是andSelf()的效果     

我是第三个P

        //会变红     

我是第四个P

 //会变红   

二十七、end()      将改变当前选择器选中的操作回退为上一个状态。

    end()   此方法没有参数

  $(".p2").next().end().css("background-color","red");
  
    

我是第一个P

             

我是第二个P

  //会变红,这就end()的效果     

我是第三个P

        //不会变红,尽管next()方法之后选中的是这一个,但是由于被end()方法回退了因此是上一个。     

我是第四个P

  

 二十八、contents  未明白

以上就是本文的全部内容,有问题的可以和小编联系,谢谢对的支持!


推荐阅读
  • 在使用 MUI 框架进行应用开发时,开发者常常会遇到 mui.init() 和 mui.plusReady() 这两个方法。本文将详细解释它们的区别及其在不同开发环境下的应用。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 程序员妻子吐槽:丈夫北漂8年终薪3万,存款情况令人意外
    一位程序员的妻子在网上分享了她丈夫在北京工作八年的经历,月薪仅3万元,存款情况却出乎意料。本文探讨了高学历人才在大城市的职场现状及生活压力。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了W3C标准盒模型和IE传统盒模型的区别,探讨了CSS3中box-sizing属性的使用方法及其在布局中的重要性。通过实例分析,帮助读者更好地理解和应用这一关键概念。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 如何在WPS Office for Mac中调整Word文档的文字排列方向
    本文将详细介绍如何使用最新版WPS Office for Mac调整Word文档中的文字排列方向。通过这些步骤,用户可以轻松更改文本的水平或垂直排列方式,以满足不同的排版需求。 ... [详细]
  • 理解存储器的层次结构有助于程序员优化程序性能,通过合理安排数据在不同层级的存储位置,提升CPU的数据访问速度。本文详细探讨了静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)的工作原理及其应用场景,并介绍了存储器模块中的数据存取过程及局部性原理。 ... [详细]
  • 几何画板展示电场线与等势面的交互关系
    几何画板是一款功能强大的物理教学软件,具备丰富的绘图和度量工具。它不仅能够模拟物理实验过程,还能通过定量分析揭示物理现象背后的规律,尤其适用于难以在实际实验中展示的内容。本文将介绍如何使用几何画板演示电场线与等势面之间的关系。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
author-avatar
济南谷幽兰
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有