关于jQuery里面的选择器

一、JQuery选择器的概述

  选择器是JQuery的根基,在JQuery中,对事件处理、遍历DOM和Ajax操作都依赖于选择器。

二、选择器的优势

1、简洁的语法

2、支持CSS1.0到CSS3.0选择器

3、完善的处理机制

三、基本选择器

名称

语法构成

描述 实例

标签选择器

element

根据给定的标签名匹配元素

$("h2" )选取所有h2元素

类选择器

.class

根据给定的class匹配元素

$(" .title")选取所有class为title的元素

ID选择器

#id

根据给定的id匹配元素

$(" #title")选取id为title的元素

并集选择器

 

selector1,selector2,...,selectorN

 

将每一个选择器匹配的元素合并后一起返回

 

$("div,p,.title" )选取所有div、p和拥有class为title的元素

 交集选择器

 

element.class或element#id

 

匹配指定class或id的某元素或元素集合

 

$("h2.title")选取所有拥有class为title的h2元素

全局选择器

 *  

匹配所有元素

 

$("*" )选取所有元素

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <style type="text/css">
        #box { background-color:#FFF; border:2px solid #000;padding:5px;  }
    </style>
    <script src="js/jquery-1.12.3.min.js"></script>
    <script>
        $(document).ready(function () {
            $("h2").click(function () {                         //获取<h2>元素为其添加click事件函数  标签选择器
               $("h3").css("background-color", "#09F");         //css   是属性  属性值               
               $(".title").css("background", "pink");            //类选择器
               $("#box").css("background", "purple");            //ID选择器
               $("h2,dt,title").css("background","purple");     //给多个属性设置值  并集选择
               $("h2.title").css("font-size", "50px");           //先获取class的title   给h2元素设置字体的大小   交集选择
               $("*").css("color","red");                      //改变所有的字体颜色   全局选择器
            });
        });
    </script>
</head>

<body>
    <div id="box">  id为box的div
        <h2 class="title">class为title的h2</h2>
        <h3 >class为title的h3</h3>
        <dl>
        <dt>
            <img src="image/1419573178hE6KzQ.jpg"  width="93" height="99" alt="公主" title="当图片不显示的时候就显示alt属性的值"/></dt>
         <dd class="title">公主</dd>
         
        </dl>
    </div>
</body>
</html>

四、层次选择器

名称

语法构成

描述

示例

后代选择器

ancestor   descendant

选取ancestor元素里的所有descendant(后代)元素

$("#menu   span" )选取#menu下的<span>元素

子选择器

parent>child

选取parent元素下的child(子)元素

$("   #menu>span" )选取#menu的子元素<span>

相邻元素选择器

prev+next

选取紧邻prev元素之后的next元素

$("   h2+dl " )选取紧邻<h2>元素之后的同辈元素<dl>

同辈元素选择器

prev~sibings

选取prev元素之后的所有siblings元素

$("   h2~dl " )选取<h2>元素之后所有的同辈元素<dl>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="js/jquery-1.12.3.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("h2").click(function () {
                //$("#all span").css("background","pink");    //后代选择器    #all  ---->后代是span
                //$("#all>span").css("background", "pink");     //子选择器 就是在#all的标签而不是包裹在别人下的======子元素
                // $("dt+dd").css("background","pink");          //相邻选择器  就是必须相邻的有顺序的
                //$("span~dl").css("background","pink");          //同辈选择器  span在之后的dl
            });
        });
    </script>
</head>
<body>
    <div id="all">
        
        <h2>全部旅游产品分类</h2>
        <span>content</span>
        <dl>
            <dt>北京周边旅游<span>特价</span></dt>
                <dd>  <a href="#">按天数</a>  <a href="#">海边旅游</a>   <a href="#">草原</a> </dd>
        </dl>
        <dl>
            <dt>景点门票</dt>
                <dd><a href="#">名胜</a>   <a href="#">暑假</a>    <a href="#">乐园</a></dd>
                <dd><a href="#">山水</a>   <a href="#">双休</a></dd>
        </dl>
        <span>更多分类</span>
    </div>
</body>
</html>

五、属性选择器

名称

语法构成

描述

示例

属性选择器

[attribute]

选取包含给定属性的元素

$("   [href]" )选取含有href属性的元素

[attribute=value]

选取等于给定属性是某个特定值的元素

$("   [href ='#']" )选取href属性值为“#”的元素

[attribute !=value]

选取不等于给定属性是某个特定值的元素

$("   [href !='#']" )选取href属性值不为“#”的元素

属性选择器

[attribute^=value]

选取给定属性是以某些特定值开始的元素

$("   [href^='en']" )选取href属性值以en开头的元素

[attribute$=value]

选取给定属性是以某些特定值结尾的元素

$("   [href$='.jpg']" )选取href属性值以.jpg结尾的元素

[attribute*=value]

选取给定属性是以包含某些值的元素

$("   [href* ='txt']" )选取href属性值中含有txt的元素

[selector]   [selector2] [selectorN]

选取满足多个条件的复合属性的元素

$("li[id][title=新闻要点]" )选取含有id属性和title属性为新闻要点的<li>元素

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="js/jquery-1.12.3.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("h2").click(function () {
                //$("h2[title]").css("background", "pink");                 //选取包含属性的元素   h2标签里面          title的属性
                //$("[class=odds]").css("background", "pink");              //改变             class属性的值        odds元素背景颜色
                $("[id!=box]").css("color","pink");
                // $("[title^=h]").css("background", "pink");                     //改变           title属性的值中以h   开头的元素背景颜色
                //$("[title$=jp]").css("background","pink");                      //改变    title属性的值中以       jp结尾的元素的背景颜色
                //$("[title*=s]").css("background","pink");                     //改变    title属性的值中含有       s元素的背景颜色
                //$("li[class][title*=y]").css("background","pink");          //改变包含  class属性且title属性的值含有 y的<li>元素的背景颜色
            });
        });
    </script>
</head>
<body>
    <div id="box">
        <h2 class="odds" title="cartoonlist">动画列表</h2>
        <ul >
            <li class="odds" title="kn_jp">名侦探柯南</li>
            <li class="evens" title="hy_jp">火影忍者</li>
            <li class="odds" title="ss_jp">死神</li>
        </ul>

    </div>
</body>
</html>

六、基本过滤选择器可以选取第一个元素、最后一个元素、索引为偶数或奇数的元素

基本过滤选择器

:first

选取第一个元素

$("   li:first" )选取所有<li>元素中的第一个<li>元素

:last

选取最后一个元素

$("   li:last" )选取所有<li>元素中的最后一个<li>元素

:even

选取索引是偶数的所有元素(index从0开始)

$("   li:even" )选取索引是偶数的所有<li>元素

:odd

选取索引是奇数的所有元素(index从0开始)

$("   li:odd" )选取索引是奇数的所有<li>元素

名称

语法构成

描述

示例

基本过滤选择器

:not(selector)

选取去除所有与给定选择器匹配的元素

$("   li:not(.three)" )选取class不是three的元素

:header

选取所有标题元素,如h1~h6

$(":header" )选取网页中所有标题元素

:focus

选取当前获取焦点的元素

$(":focus" )选取当前获取焦点的元素

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="js/jquery-1.12.3.min.js"></script>
    <script>
        $(document).ready(function () {
            $("h2").click(function () {
                // $("li:first").css("background", "#09F");   //改变第一个<li>(进行过滤的元素:)的背景颜色
                //$("li:last").css("background", "pink");     //改变最后一个<li>(进行过滤的元素:)的背景颜色
                //$("li:not(.three)").css("color","pink");    //改变在<li>里面除了three以外都改变字体颜色
                //$("li:even").css("color", "pink");          //改变索引为偶数的<li>元素的字体颜色
                //$("li:odd").css("color","#09F");            //改变索引为奇数的<li>元素的字体颜色
                // $("li:eq(1)").css("background", "pink");       //改变索引值   等于1的<li>元素的颜色
                //$("li:gt(1)").css("background", "pink");       //改变索引值   大于1的<li>元素的颜色
                //$("li:lt(1)").css("background", "pink");       //改变索引值   小于1的<li>元素的颜色
                //$(":header").css("color","pink");                //改变所有标题元素背景颜色如  h2  h3.....


                $(":focus").css("background","pink");  //改变当前获取焦点的元素背景

            });
        });
    </script>

</head>
<body>
    <h2>  网络小说</h2>
    <ul>
        <li>王妃不好当 </li>
        <li>致命交易 </li>
        <li class="three"> 非诚勿扰</li>
        <li> 逆天之宠</li>
        <li> 交错时光的恋爱</li>
        <li> 张震鬼故事</li>
        <li> 第一次亲密接触</li>
    </ul>
</body>
</html>

七、可见性过滤选择器

名称

语法构成

描述

示例

可见性过滤选择器

:visible

选取所有可见的元素

$(":visible" )选取所有可见的元素

:hidden

选取所有隐藏的元素

$(":hidden" )   选取所有隐藏的元素

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="js/jquery-1.12.3.min.js"></script>
    <style>
        #txt_show {display:none;color:#00C      }
        #txt_show {display:block;color:#F30     }
    </style>
    <script>
        $(document).ready(function () {
            $("[name=show]").click(function () {
                $("p:hidden").show();     //获取隐藏元素,使其显示
              
            });
            $("[name=hide]").click(function () {
                $("p:visible").hide();     //获取显示元素,使其隐藏

            });
           
        });
    </script>
</head>
<body>
    <p id="txt_hide">点击按钮我会隐藏哦 </p>
    <p id="txt_show">隐藏我会显示哦 </p>
    <input name="show" type="button" value="点击显示文字"/>
    <input name="hide" type="button"  value="点击隐藏文字"/>
</body>
</html>

总结:(一定要看实列,才会有收获哦)

基本选择器
标签选择器、类选择器、ID选择器
并集选择器、交集选择器、全局选择器
层次选择器
后代选择器、子选择器
相邻选择器、同辈选择器
属性选择器
属性名过滤、属性值过滤、多属性条件过滤
基本过滤选择器
可见性过滤选择器
原文地址:https://www.cnblogs.com/yejiaojiao/p/5513193.html