微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

分类解析jQuery选择器

基本选择器:

  #id            根据Id匹配一个元素

  .class           根据给定的类名匹配一个元素

  element          根据元素名匹配一个元素

  *             匹配所有元素

  selecttor1,selector2    并集,返回两个选择器匹配到的元素

层次选择器:

  ancestor descendant   根据祖先匹配所有的后代元素

  parent>child        根据父元素匹配所有的子元素,直接后代

  prev+next         匹配下一个兄弟元素 相当于next()方法

  prev~siblings       匹配后面的兄弟元素 相当于nextAll()方法 siblings()方法为匹配所有的兄弟元素

简单过滤选择器:

  :first或first()        匹配第一个元素

  :last或last()        匹配最后一个元素

  :not(selector)       匹配非selector能匹配到的元素

  :even           匹配索引值为偶数的元素,索引号从0开始

  :odd            匹配索引值为奇数的元素,索引号从0开始

  :eq(index)         匹配指定索引号的元素,索引号从0开始

  :gt(index)         匹配索引号大于给定索引值的元素,索引号从0开始

  :lt(index)          匹配索引号小于给定索引值的元素,索引号从0开始

  :header          匹配所有的标题元素 h1 h2 h3 h4 h5 h6

  :animated         匹配所有正在执行动画的元素

内容过滤选择器:

  :contains(text)      匹配包含给定文本的元素

  :empty          匹配所有不包含子元素或者文本的空元素

  :has(selector)       匹配后代中含有selector能匹配上元素的元素

  :parent          匹配含有子元素或者文本的元素

可见性过滤选择器:

  :hidden          匹配不可见元素,或者type="hidden"的元素 含有css样式:display:"none";的元素,无论CSS是内联,导入,链接

  :visible           获取所有的可见元素

属性过滤选择器:

  [attribute]         匹配含有给定属性的元素

  [attribute=value]     匹配含有属性=value的元素

  [attribute!=value]     匹配含有属性但!=value的元素

  [attribute^=value]     匹配属性值是以value开始的元素

  [attribute$=value]     匹配属性值是以value结束的元素

  [attribute*=value]     匹配属性值包含某些值的元素,部分前后,中间有也算

  [selector][selector]     匹配属性选择器的交集

子元素过滤选择器:

  :nth-child(eq|even|odd|index)  获取所有父元素特定位置的子元素

  :first            获取所有父元素下的第一个子元素

  :last            获取所有父元素下最后一个子元素

  :only-child         获取所有父元素下唯一的一个元素

表单对象属性过滤选择器:

  :enabled         获取表单中所有可用的元素

  :disabled          获取表单中所有不可用的元素

  :checked         获取表单张所有被选中的元素

  :selected         获取表单中所有被选中的option的元素

表单选择器:

  :input           获取所有的表单元素

  :text           获取所有的单行文本框  

  :password        获取所有的密码框元素

  :radio           获取所有的单选按钮   

  :checkBox         获取所有的复选框    Box">

  :submit          获取所有的提交按钮   

  :image          获取所有的图像按钮  

  :reset          获取所有的重置按钮   

  :button         获取所有的按钮     

  :file            获取所有的文件上传框  

1、基本选择器

  (1)、#id 根据Id匹配一个元素

rush:js;">    $("#div1").css("background-color","red");  //匹配id为"div1"的元素    
一个DIV
//会选中该div元素

  (2)、element 根据给定的元素名匹配元素

rush:js;">     $("p").css("background-color","red");    //匹配页面所有的p元素     

我是一个P

  (3)、class 根据class属性匹配元素

rush:js;">     $(".important").removeClass();    //匹配所有class="important"元素     

一个p元素

  (4)、* 匹配所有的元素

    $("*").css("background-color","red");

  (5)、selector1,selector2  选择器之间用逗号分隔  返回每一个选择器匹配到的元素

    $(".div1,#span1").css("background-color","red");

2、层次选择器

 (1)、ancestor descendant 根据祖先元素匹配所有的后代元素,返回的是匹配到的后代元素,用空格分开。

rush:js;"> $("#div1 span").css("color","red");

    <div id="div1">
      我是span1     会被选中,是#div1的后代span
      


        我是span3   
会被选中,也是#div1的后代span
      

    

    我是span2       ***不会被选中,不是#div1的后代

(2)、parent > child  根据父元素匹配所有的子元素  返回所有的子元素  用大于号">"分隔

span").css("color","red");     
我是span1     ***会被选中,是#div1的子元素span       
        我是span3   ***不会被选中,是#div1的后代元素,但不是直接子元素       
    
    我是span2       ***不会被选中,不是#div1的子元素

(3)、prev + next  匹配紧接在prev元素后的相邻的下一个元素 用加号"+"分隔。

    相当于.next()方法

rush:js;"> $(".p1 + p").css("color","red");    //此行代码相当于$(".p1").next().css("color","red");     
      

我是第一个P

      ***不会被选中,是class为p1的上一个了       

  ***prev本身并不会被选中       

我是第三个P

      ***会被选中,是class为p1的下一个相邻元素       

我是第四个P

      ***不会被选中,不是class为p1的下一个,是下二个了     

(4)、prev ~ sibings    匹配prev后面的的所有兄弟元素 用波浪线"~"分隔开

    相当于 nextAll()方法

rush:js;"> $(".p1 + p").css("color","red");    //此行代码相当于$(".p1").nextAll("p").css("color","red");     
      

我是第一个P

      ***不会被选中,是class为p1前面的元素       

  ***prev本身并不会被选中       

我是第三个P

      ***会被选中,是class为p1后面的P兄弟元素       

我是第四个P

      ***会被选中,也是class为p1后面的P兄弟元素     

 (5)、选中所有的兄弟元素 siblings() 方法

rush:js;"> $(".p1").sibings("p").css("color","red");     
      

我是第一个P

      ***会被选中,是class为p1的P兄弟元素       

  ***prev本身并不会被选中       

我是第三个P

      ***会被选中,是class为p1的P兄弟元素       

我是第四个P

      ***会被选中,也是class为p1的P兄弟元素     

3、简单过滤选择器

  (1)、first()或:first    选中符合条件的第一个元素

p:first").css("color","red")  //此行代码相当于  $("#div1 > p").first().css("color","red");     
我是第一个P

   ***会被选中,是id为#div1下的第一个P元素       

我是第二个P

   ***不会被选中,是第二个P元素了       

我是第三个P

   ***不会被选中,是第三个P元素了     

(2)、last()或:last    符合条件的最后一个元素

p:last").css("color","red");    //此行代码相当于 $("#div1 > p").last().css("color","red");     
我是第一个P

   ***不会被选中,是第一个       

我是第二个P

   ***不会被选中,是第二个       

我是第三个P

   ***会被选中,id为#div1下的最后一个P元素     

 (3)、:not(selector)    符合条件但不能被selector选中的元素

p:not('.p1')").css("color","red");     
我是第一个P

        ***会被选中       

  ***不会被选中,因为符合了:not里的条件 class="p1"       

我是第三个P

        ***会被选中     

 (4)、:even      获取指定索引值为偶数的元素(0、2、4、6、8……),注意索引号是从0开始的

p:even").css("color","red");     
我是第一个P

  ***会被选中,索引号0       

我是第二个P

  ***不会被选中,索引号1       

我是第三个P

  ***会被选中,索引号2       

我是第四个P

  ***不会被选中,索引号3       

我是第五个P

  ***会被选中,索引号4     

 (5)、odd        获取指定索引值为奇数的元素(1、3、5、7、9......),注意索引号是从1开始的

p:odd").css("color","red");     
我是第一个P

  ***不会被选中,索引号0       

我是第二个P

  ***会被选中,索引号1       

我是第三个P

  ***不会被选中,索引号2       

我是第四个P

  ***会被选中,索引号3       

我是第五个P

  ***不会被选中,索引号4     

(6)、eq(index)      选取指定索引值的元素,索引值从0开始

p:eq(1)").css("color","red");     
我是第一个P

  ***不会被选中,索引号为0       

我是第二个P

  ***不会被选中,索引号为1       

我是第三个P

  ***不会被选中,索引号为2       

我是第四个P

  ***不会被选中,索引号为3     

 (7)、gt(index)      获取所有索引值大于index的元素,索引号从0开始

p:gt(1)").css("color","red");     
我是第一个P

  ***不会被选中,索引号为0       

我是第二个P

  ***不会被选中,索引号为1       

我是第三个P

  ***会被选中,索引号为2大于1了       

我是第四个P

  ***会被选中,索引号为3大于1了     

 (8)、lt(index)      获取所有索引值小于index的元素,索引号从0开始

p:lt(1)").css("color","red");     
我是第一个P

  ***会被选中,索引号为0,小于1       

我是第二个P

  ***不会被选中,索引号为1,不小于1       

我是第三个P

  ***不会被选中,索引号为2大于1了       

我是第四个P

  ***不会被选中,索引号为3大于1了     

(9)、:header       索取所有标题类型元素h1、h2、h3、h4、h5、h6

:header").css("color","red");    
我是一个P

      ***不会被选中,不是标题类型元素       我是一个span ***不会被选中,不是标题类型元素       

我是一个h1

    ***会被选中,h1是标题类型元素       
我是一个h6
    ***会被选中,h6是标题类型元素     

(10)、animated    正在执行动画效果的元素

4、内容过滤选择器

  (1)、:contains(text) 获取包含给定文本的元素

rush:js;">    $("p:contains('三')").css("background-color","red");      
      

我是第一个P

  ***不会被选中       

我是第二个P

  ***不会被选中       

我是第三个P

  ***会被选中,文本里包含了"三"      

  (2)、:empty  获取不包含子元素或文本的空元素

rush:js;"> $(:empty).text("我是空元素");       
        
  ***div不会被选中,因为有子元素。会被选中,因为没有子元素也没有文本元素         

            ***会被选中,没有子元素,也没有文本元素         我是一个span  ***不会被选中,有文本元素       

 (3)、:has(selector)   选中含有selector所匹配元素的元素,(注意不限于直接子元素,只要是后代含有都算)

rush:js;"> $("div:has('span')").css("background-color","red");       
          ***此div会被选中,因为他的有孙子span         我是最外层div             

我是一个P

    ***此div不会被选中,因为不含有后代span         
我是一个span
  ***此div会被选中,含有后代span       

(4)、:parent  含有子元素或者文本元素的元素

rush:js;">    $(":parent").text("不含子元素或文本元素");       
我是一个div
  ***不会被选中,因为含有文本元素       
我是一个span
  ***不会被选中,含有子元素。       
        ***会被选中,不含子元素也不含有文本元素

5、可见性过滤选择器

  (1)、:hidden  选中所有不可见元素

rush:js;"> $("span:hidden").css("display","block");    $("input:hidden").val("我是jQuery");     display:none">我是一个span  ***会被第一条规则选中        ***会被第二条jQuery选中              ***会被第一条jQuery选中

(2)、:visible  选中所有可见元素

6、属性过滤选择器

  (1)、[attribute]  获取包含给定属性的元素

rush:js;">     $("div[class]").css("font-size","30px");     
       
一个div
  ***会被选中,含有class属性        
我是第二个div
         ***不会被选中,没含有class属性。      

  (2)、[attribute=value]  获取属性值等于value的元素

rush:js;">     $("div[class=div1]").css("font-size","30px");       
        
  ***会被选中,class属性等于div1。         
  ***不会被选中,class属性不等于div1。       

  (3)、[attribute!=value]  获取属性值不等于value的元素

rush:js;">       $("div[class!=div1]").css("color","red");       
我是一个没有class属性的div
           ***会被选中,没有class属性自然class属性不等于div1       
一个class属性等于div2的div
   ***会被选中,class属性不等于div1       
一个class属性等于div1的元素
  ***不会被选中,class属性等于div1

   (4)、[attribute^=value]  获取属性值以value开始的元素

rush:js;">       $("div[class^=div]").css("color","red');       
  ***会被选中,class属性以div开始       
  ***会被选中,class属性以div开始       
   ***不会被选中,class属性不以div开始

  (5)、[attribute$=value]  获取属性值以value结束的元素

rush:js;">       $("div[class$=div]").css("color","red");       
一个div
  ***会被选中,class属性以div结束       
  ***会被选中,class属性以div结束       
   ***不会被选中,class属性不以div结束

  (6)、[attribute*=value]  获取属性值包含value值元素

rush:js;">       $("div[class*=div]").css("font-size","30px");       
  ***会被选中,属性值包含div       
  ***会被选中,属性值包含div       
***会被选中,属性值包含div       
   ***会被选中,属性值包含div

  (7)、[selector][selector][selector]  获取属性交集元素

rush:js;">       $("div:[class][title=title1]").css("background-color","red");       
  ***会被选中,有class属性且title属性等于title1       
我是div1,title2
   ***不会被选中,虽然有class属性,但是title属性不等于title2       
           ***不会被选中,没有title属性

7、子元素过滤选择器

   (1):nth-child(eq|even|odd|index)    获取每个父元素下的特定位置元素,索引号从1开始

p:nth-child(1)").css("background-color","red");  //选中每一个父元素下的div下的第一个直接P元素
  

我是第一个P

  *** 会被选中,是div下的第一个子P元素   

我是第二个P

  *** 不会被选中,是第二个了
  

我是第三个P

  *** 会被选中,是div下的第一个子P元素   

我是第四个P

  *** 不会被选中,是第二个了

(2):first-child    选中每个父元素下的第一个

rush:js;"> $("p:first-child").css("background-color","red");    //选中每一个父元素下的第一个P元素
  

我是第一个P

  *** 会被选中,是div下的第一个子P元素   

我是第二个P

  *** 不会被选中,是第二个了
      
  •     

    我是第三个P

      *** 会被选中,是div下的第一个子P元素     

    我是第四个P

      *** 不会被选中,是第二个了   

(3)、:last-child  选中每一个父元素下的最后一个元素

rush:js;"> $("p:last-child").css("background-color","red");    //选中每一个父元素下的第一个P元素
  

我是第一个P

  *** 不会被选中,不是某父元素的最后一个子P元素   

我是第二个P

  *** 会被选中,是div元素下的最后一个子P元素
      
  •     

    我是第三个P

      *** 不会被选中,不是某父元素下的最后一个子P元素     

    我是第四个P

      *** 会被选中,是div元素下的最后一个P元素   

(4)、:only-child  获取每个父元素下唯一仅有的一个子元素

rush:js;"> $("p:only-child").css("background-color","red");   
    

我是第一个P

  ***不会被选中,不是某父元素下的唯一一个P元素     

我是第二个P

  ***不会被选中,不是某父元素下的唯一一个P元素   
  
    我是一个span  ***不会被选中,不是某父元素下的唯一一个P元素     

我是第三个P

       ***不会被选中,不是某父元素下的唯一一个span元素   
  
    

我是一个P

    ***会被选中,是div下的唯一一个P元素   

8、表单对象属性过滤选择器

  (1)、:enabled  获取表单中所有属性为可用的元素

rush:js;"> $("input:enabled").val("jQuery表单对象属性过滤选择器");   
        ***会被选中,是一个可用的表单元素       ***不会被选中,是不可用的表单元素   

(2)、:disabled  获取表单中属性不可用的元素

rush:js;">   $("input:enabled").val("jQuery表单对象属性过滤选择器");   
       ***不会被选中,是一个可用的表单元素      ***会被选中,是不可用的表单元素 //注意,jQuery能够操作不可用   的表单元素   

(3)、:checked    获取表单中被选中的元素  从属性能够知道用户选中了哪个

rush:js;">   $("input:checked").val("jQuery");     
      Box" checked="checked" value="1">选中       Box" value="0">未选中     

(4)、:selected    获取表单中被选中的元素  此属性能够知道用户选择了哪个

rush:js;"> alert($("input:selected").text(""));  //获取所有被选中的option元素     
                    

9、表单选择器

(1)、:input  获取所有的input、textarea、select

rush:js;"> $(":input").val("jQuery");     
        ***会被选中         ***会被选中       

我是一个P

          ***不会被选中     

(2)、:text  获取所有的单行文本框,也就是元素

rush:js;"> $(":text").val("jQuery");     
        ***会被选中,是单行文本框             ***不会被选中,不是单行文本框            ***不会被选中,不是单行文本框     

(3)、:password  获取所有的密码框  也就是元素

rush:js;">     $(":password").hide(3000);     
          ***会被选中,是密码框         ***不会被选中,是文本框     

(4)、:radio  获取所有的单选按钮

rush:js;">     $(":radio").hide(3000);     
      我是一个radio  ***单选按钮会被选中,但是后面的文字不会       我是一个文本框  ***不会被选中     

(5)、:checkBox  获取所有的复选框

rush:js;">     $(":checkBox").hide(3000);     
      我是一个checkBox  ***复选框会被选中,文本不会       我是一个文本框       ***不会被选中,不是复选框     

(6)、:submit    获取所有的提交按钮

rush:js;">     $(":submit").hide(3000);     
      一个文本框">   ***不会被选中,不是提交按钮     

(7)、:image    获取所有的图像域

rush:js;">     $(":image").attr("title","我是一个图片按钮");     
        ***会被选中             ***不会被选中,不是图片按钮     

(8)、:reset    获取所有重置按钮

rush:js;">     $(":reset").hide(3000);     
      一个文本框">  ***不会被选中,不是重置按钮     

(9)、:button    获取所有的按钮

rush:js;">     $(":button").hide(3000);     
            ***会被选中,是按钮元素          ***不会被选中,不是按钮元素     

(10)、:file    获取所有的文件

rush:js;">     $(":file").hide(3000);     
                  

以上就是本文的全部内容,希望对大家有所帮助,谢谢对编程之家的支持

原文地址:https://www.jb51.cc/jquery/44260.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐