JQuery制作网页—— 第六章 jQuery选择器

时间:2022-09-01 15:09:37

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>标签中的字体颜色为蓝色

  })

 JQuery制作网页—— 第六章  jQuery选择器

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

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

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

 JQuery制作网页—— 第六章  jQuery选择器

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

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

 JQuery制作网页—— 第六章  jQuery选择器

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

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

 JQuery制作网页—— 第六章  jQuery选择器

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

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

 JQuery制作网页—— 第六章  jQuery选择器

层次选择器:层次选择器通过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>标签的字体全部为红色

 JQuery制作网页—— 第六章  jQuery选择器

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

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

 JQuery制作网页—— 第六章  jQuery选择器

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

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

 JQuery制作网页—— 第六章  jQuery选择器

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

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

 JQuery制作网页—— 第六章  jQuery选择器

●属性选择器: 属性选择器通过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");

 JQuery制作网页—— 第六章  jQuery选择器

●根据属性值获取元素

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

    class属性值为hot

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

 JQuery制作网页—— 第六章  jQuery选择器

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

        class值不等于hot

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

 

 JQuery制作网页—— 第六章  jQuery选择器

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

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

  a标签href属性值以www开头

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

 JQuery制作网页—— 第六章  jQuery选择器

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

  a标签href属性值以html结尾

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

 JQuery制作网页—— 第六章  jQuery选择器

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

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

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

 JQuery制作网页—— 第六章  jQuery选择器

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>

 JQuery制作网页—— 第六章  jQuery选择器

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

 JQuery制作网页—— 第六章  jQuery选择器

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

 JQuery制作网页—— 第六章  jQuery选择器

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

 JQuery制作网页—— 第六章  jQuery选择器

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

JQuery制作网页—— 第六章  jQuery选择器

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

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

JQuery制作网页—— 第六章  jQuery选择器

$(".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选择器

JQuery制作网页—— 第六章 jQuery选择器的更多相关文章

  1. JQuery制作网页—— 第七章 jQuery中的事件与动画

    1. jQuery中的事件: ●和WinForm一样,在网页中的交互也是需要事件来实现的,例如tab切换效果,可以通过鼠标单击事件来实现 ●jQuery事件是对JavaScript事件的封装,常用事件 ...

  2. JQuery制作网页——第五章 初识 jQuery

    1.jQuery简介: ● jQuery由美国人John Resig于2006年创建 ● jQuery是目前最流行的JavaScript程序库,它是对JavaScript对象和函数的封装 ● 它的设计 ...

  3. JQuery制作网页—— 第四章JavaScript对象及初识面向对象

    1.对象:在JavaScript中,所有事物都是对象,如字符串.数值.数组.函数等. JavaScript中的基本数据类型: number(数值类型)   string(字符串类型)  boolean ...

  4. JQuery制作网页—— 第三章 JavaScript操作DOM对象

    1. DOM:Document Object Model(文档对象模型):          DOM操作:                   ●DOM是Document Object Model的缩 ...

  5. JQuery制作网页——第八章 使用jQuery操作DOM

    1.DOM操作: DOM操作分为三类: ●DOM Core:任何一种支持DOM的编程语言都可以使用它,如getElementById().getElementsByName: ●HTML-DOM:用于 ...

  6. jQuery系列 第六章 jQuery框架事件处理

    第六章 jQuery框架事件处理 JavaScript以事件驱动来实现页面的交互,其核心是以消息为基础,以事件来驱动.虽然利用传统的JavaScript事件处理方式也能够完成页面交互,但jQuery框 ...

  7. 第六章 jQuery和ajax应用

    ajax是异步JavaScript和xml的简称. 一. ajax补白 优势 不足(不一定是不足) 不需要任何插件(但需要浏览器支持js) XMLHttpRequest对象在不同浏览器下有差异 优秀的 ...

  8. jQuery 第六章 jQuery在Ajax应用

    1.本章目标 ajax 2.ajax 异步刷新技术,我们的网页不需要全部刷新,按需实现局部刷新,上线后台的交互 用户体验好 地图,前台验证,表单提交,修改,查询等等 原生的js和ajax packag ...

  9. 使用jQuery快速高效制作网页交互特效--初始jQuery

    一.  jQuery基本概念介绍           1.1 什么是jQuery一个javascript库,把常用方法写到一个js文件中,需要的时候直接调用即可学习jQuery就是学习一些方法    ...

随机推荐

  1. &lt&semi;&lt&semi;Vector Calculus&gt&semi;&gt&semi;笔记

    现在流行用Exterior Caculus, 所以个人觉得Matthews这本书有点过时了. 想学Vector Calculus的话,推荐<Vector Calculus, Linear Alg ...

  2. Spark - RDD(弹性分布式数据集)

    org.apache.spark.rddRDDabstract class RDD[T] extends Serializable with Logging A Resilient Distribut ...

  3. Hadoop Hello World

    Hadoop单机环境配置OK后,需要找个例子测试一下Mapreduce功能.因此从Hadoop源代码中找到一个例子:WordCount.java,来验证. 编译过程如下: cd hadoop-exam ...

  4. Keil C51程序调试过程

    用Keil C51编写程序时,经常需要调试,如果不是经常用这个软件的话,很容易忘记这些调试步骤,现在举一个例子“验证延迟函数delay()使其延迟的时间为500ms”说明. 源程序写完后,就可以调试了 ...

  5. KEIL简单实例

    好久都没有用KEIL了,突然想动手,一时还真不知道从哪开始写,所以先弄个小实例,以便参考:#include <reg52.h>  //加载包括一个52标准内核的头文件,里面主要是一些寄存器 ...

  6. IP数据报格式 及路由转发算法

    ip数据报分首部和数据两部分组成: 首部分为固定部分和可变部分 版本--占 4 位,指 IP 协议的版本 目前的 IP 协议版本号为 4 (即 IPv4) 首部长度--占 4 位,可表示的最大数值 是 ...

  7. (三)surging 微服务框架使用系列之我的第一个服务(审计日志)

    前言:前面准备了那么久的准备工作,现在终于可以开始构建我们自己的服务了.这篇博客就让我们一起构建自己的第一个服务---审计日志. 首先我们先创建两个项目,一个控制台的服务启动项目,一个业务的实现项目. ...

  8. Golang 交叉编译 window&sol;linux 文件

    gox - 一款简单的交叉编译工具 下载地址:https://github.com/mitchellh/gox 使用 go get 命令安装: go get github.com/mitchellh/ ...

  9. 网络编程基础【day09】:socket解决粘包问题之MD5(八)

    本节内容 1.概述 2.代码实现 一.概述 上一篇博客讲到的用MD5来校验还是用的之前解决粘包的方法,就是客户端发送一个请求,等待服务端的确认的这样的一个笨方法.下面我们用另外一种方法:就是客户端已经 ...

  10. grid - 通过网格线名称设置网格项目位置

    使用网格线名称设置网格项目位置和使用网格线号码设置网格项目位置类似. 1.引用网格线名称的时候不应该带方括号 <view class="grid"> <view ...