zoukankan      html  css  js  c++  java
  • JQuery制作网页—— 第六章 jQuery选择器

    1、jQuery选择器:jQuery选择器类似于CSS选择器,用来选取网页中的元素。

            Eg:$("h3").css("background","#09F");

                   分析:  获取并设置网页中所有<h3>元素的背景

                “h3”为选择器语法,必须放在$()中

                 $(“h3”)返回jQuery对象

                      .css()是为jQuery对象设置样式的方法

    2、 jQuery选择器的优势:

    简洁的写法:

      $()函数在很多javaScript库中都被当成一个选择器函数来使用,在jQuery中也是如此。$(“#id”)等同于document.getElementById(“id”)。

    完善的处理机制:

      使用jQuery选择器不仅比使用传统的getElementById()和getElementsByTagName()函数简洁的多,还能避免某些错误,适用性更好。

    3、jQuery选择器的类型:

    分类

    详细类型

    通过CSS选择器选取元素

    基本选择器

    层次选择器

    属性选择器

    通过过滤选择器选择元素

    基本过滤选择器

    可见性过滤选择器

    4、        通过CSS选择器获取元素:

    ●基本选择器:包括标签选择器、类选择器、ID选择器、并集选择器和全局选择器

    名称

    语法构成

    描述

    返回值

    示例

    标签选择器

    element

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

    元素集合

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

    类选择器

    .class

    根据给定的class匹配元素

    元素集合

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

    ID选择器

    #id

    根据给定的id匹配元素

    单个元素

    $(" #title")选取idtitle的元素

    并集选择器

    selector1,selector2,...,selectorN

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

    元素集合

    $("div,p,.title" )选取所有divp和拥有classtitle的元素

    全局选择器

    *

    匹配所有元素

    集合元素

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

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

         $(document).ready(function(){

            $("dt").click(function(){

                $("dd").css("display","block"); //设置<dd>标签中的内容显示出来

           });

          $("h1").css("color","blue");//设置<h1>标签中的字体颜色为蓝色

      })

     

    ●类选择器根据给定的class匹配元素

      $(".price").css({"background":"#efefef","padding":"5px"});

              //设置class为price元素的背景颜色和内边距(右侧网页中的灰色方框部分)

     

    ●ID选择器根据给定的id匹配元素

      $("#author").css("color","#083499");   //设置id为author的元素的字体颜色

     

    ●并集选择器用来合并元素集合

      $(".intro,dt,dd").css("color","#ff0000");

     

    ●全局选择器可以获取所有元素

      $("*").css("font-weight","bold");     //设置所有元素的字体加粗显示

     

    层次选择器:层次选择器通过DOM 元素之间的层次关系来获取元素

    名称

    语法构成

    描述

    返回值

    示例

    后代选择器

    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>

    ●后代选择器用来获取元素的后代元素

      $(".textRight p").css("color","red");

           //设置class为textRight元素中的所有<p>标签的字体全部为红色

     

    ●子选择器用来获取元素的子元素

        $(".textRight>p").css("color","red");

     

    ●相邻选择器用来选取紧邻目标元素的下一个元素

      $("h1+p").css(text-decoration","underline");

     

    ●同辈选择器用来选取目标元素之后的所有同辈元素

      $("h1~p").css("text-decoration","underline");

     

    ●属性选择器: 属性选择器通过HTML元素的属性来选择元素

    语法构成

    描述

    返回值

    示例

    [attribute]

    选取包含指定属性的元素

    元素集合

    $(“[hrer]”)选取包含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的元素

    ●根据属性名获取元素

      ★属性选择器可以根据是否包含某属性来选取元素

        a标签带有class属性

          $("#news a[class]").css("background","#c9cbcb");

     

    ●根据属性值获取元素

    1、属性选择器可以根据属性的值来选取元素

        class属性值为hot

          $("#news a[class='hot']").css("background","#c9cbcb");

     

    2、属性选择器可以指定选取不等于属性是某个特定值的元素

            class值不等于hot

          $("#news a[class!='hot']").css("background","#c9cbcb");

     

     

    ●根据属性值包含特定的值获取元素

    1、属性选择器可以指定属性值以指定值开头的元素

      a标签href属性值以www开头

        $("#news a[href^='www']").css("background","#c9cbcb");

     

    2、属性选择器可以指定属性值以指定值结尾的元素

      a标签href属性值以html结尾

        $("#news a[href$='html']").css("background","#c9cbcb");

     

    3、属性选择器可以指定属性值包含指定值的元素

      a标签href属性值包含“k2”的元素

        $("#news a[href*='k2']").css("background","#c9cbcb");

     

    5、 通过条件过滤选取元素:

    通过特定的过滤规则来筛选出所需的DOM元素

        主要分类:

          基本过滤选择器

          可见性过滤选择器

          表单对象过滤选择器

          内容过滤选择器、子元素过滤选择器、属性过滤选择器……

    ●基本过滤选择器:

    语法

     

    描述

    返回值

    示例

    :first

     

    选取第一个元素

    单个元素

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

    :last

     

    选取最后一个元素

    单个元素

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

    :not(selector)

     

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

    集合元素

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

    :even

     

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

    集合元素

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

    :odd

     

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

    集合元素

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

    :eq(index)

     

    选取索引等于index的元素(index0开始)

    单个元素

    $("li:eq(1)" )选取索引等于1<li>元素

    :gt(index)

     

    选取索引大于index的元素(index0开始)

    集合元素

    $(" li:gt(1)" )选取索引大于1<li>元素(注:大于1,不包括1

    :lt(index)

     

    选取索引小于index的元素(index0开始)

    集合元素

    $(“li:lt(1)” )选取索引小于1<li>元素(注:小于1,不包括1

    :header

     

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

    集合元素

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

    :focus

     

    选取当前获取焦点的元素

    集合元素

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

    :animated

     

    选择所有动画

    集合元素

    $(":animated" )选取当前所有动画元素

    • ●eg:

      div class="contain">

       <h2>祝福冬奥</h2>

       <ul>

          <li> 贝克汉姆:衷心希望北京能够申办成功!</li>

          <li> 姚明:北京申冬奥是个非常棒的机会!加油!</li>

      <li> 张虹:北京办冬奥,大家的热情定超乎想象!</li>

          <li> 肖恩怀特:我爱北京,支持北京申办冬奥会!</li>

          <li> 赵宏博:北京申办冬奥会是再合适不过了!</li>

          <li> 你喜欢哪些冬季运动项目?(点击进入调查页)</li>

       </ul>

    </div>

     

    $(".contain :header").css({"background":"#2a65ba","color":"#ffffff"});

     

    $(".contain li:first").css({"font-size":"16px","color":"#e90202"});

     

    $(".contain li:last").css("border","none");

     

    $(".contain li:even").css("background","#f0f0f0");

      

    $(".contain li:odd").css("background","#cccccc");

    $(".contain li:lt(2)").css({"color":"#708b02"});

    $(".contain li:gt(3)").css({"color":"#b66302"});

    ●可见过滤选择器:

      ★通过元素的显示状态(显示/隐藏)来选取 元素。

    语法

    名称

    返回值

    语法:示例

    :visible

    选取可见元素

    集合元素

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

    :hidden

    选取隐蔽的元素

    集合元素

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

      Eg$("p:hidden").show();

         $("p:visible").hide();

    6、 jQuery选择器的注意事项:

    ●选择器中包含特殊符号

      ★在W3C规范中,规定属性值不能包含有某些特殊字符,解决此类错误的方法是使用转义符转义。

        Eg代码:<div id="id#a">aa</div>

             <div id="id[2]">cc</div>

                       ◆获取这两个元素的选择器

                           $(“#id#a”);

                                   $(“#id[2]”);

                以上代码不能正确获取元素,正确的写法如下:

                                $(“#id\#a”);

                                    $(“#id\[2\]”);

    选择器中的空格:选择器的书写规范很严格,多一个空格或少一个空格,都会影响选择器的效果

                      Eg1选取class“test”的元素内部的隐藏元素

              var $t_a = $(".test :hidden"); //带空格的jQuery选择器

          Eg2:选取隐藏的class“test”的元素

              var $t_b = $(".test:hidden");  //不带空格的jQuery选择器

  • 相关阅读:
    CString to char*
    修改mfc中的图标的问题
    MFC Class Wizard要到这里来找
    多文档情形下,窗口的重绘
    64位的ubuntu跑不了32位下编译出来的代码,可是我就是想跑啊
    ubuntu不能执行某个执行文件,这个叫权限不够
    碰到了在ubuntu下不能读windows盘符的问题——ubuntu使用心得
    画个多边形来,CDC
    如果要在mFC客户区添加控件怎么办
    饿汉单例模式实例——取快递
  • 原文地址:https://www.cnblogs.com/HQING/p/9429777.html
Copyright © 2011-2022 走看看