从学习jquery开始,现在已经是第三遍看锋利的jQuery这本书了,现在打算对jQuery中的各种选择器进行一下总结,主要是是为了进一步系统的巩固自己对知识的掌握,另外也可以为那些学习jQuery并不小心进入我的博客的同学提供一个知识交流的机会。

jQuery选择器分为基本选择器,层次选择器,过滤选择器和表单选择器

1.基本选择器

基本选择器其实就是通过元素的id,class和标签名等查找DOM元素的规则的集合,也是jquery中常用的最基本的选择器,掌握基本选择器对于学习jquery很重要。

在这里我打算把书中的基本选择器表照搬显示出来,因为个人觉得这个表给出的解释已经是十分的详细明了。

基本选择器 描述 返回 示例
#id 根据给定元素的id查找匹配一个元素(注意在网页中每一个id只能使用一次) 单个元素 $("#test")选取id为test的元素
.class 根据给定的类名匹配元素 元素数组(或者说集合元素) $(".test")选取所有class为test的元素
element 根据给定的元素名称匹配元素 元素数组(或者说集合元素) $("p")选取所有的<p>元素
* 匹配所有的元素             元素数组(或者说集合元素) $("*")选取所有的元素
selector1,selector2,....selectorN  将每一个选择器匹配到的元素合并后一起返回   元素数组(集合元素) $("div,span,p.myClass")选取所有<div>,<span>和拥有class为myClass的<p>标签的一组元素

2.层次选择器

层次选择器就是通过DOM元素之间的层次关系来获取特定元素的规则表示。那什么是元素之间的层次关系呢?

如下面一段代码:

<div id="one">
<p class="hehe">测试</p>
<ul >
<li>测试1</li>
<li>测试2</li>
</ul>
</div>
<div id="two">测试3</div>

在这段代码中id为two的div是id为one的div元素的相邻元素,这两个元素之间的层次关系就是相邻关系 。

class为"hehe"的p元素和ul元素还有li元素都是id为"one"的div元素的后代元素,他们和id为"one"的div元素之间的层次关系就是后代关系(即p元素,ul元素,li元素都是div元素的后代元素)。

而class为"hehe"的p元素和ul元素还是id为"one"的div元素的子元素(注意这里没有li元素,li元素是ul的子元素),就是说,当前元素的直接的孩子元素就是其子元素,而当前元素内部所包含的所有的元素节点都是其后代元素。

可能说的还是不太清楚。

再次给出书中层次选择表,呵呵。。。

层次选择器 描述 返回 示例
$("ancestor descendant")        选取ancestor元素里面的所有的descendant(后代)元素 元素数组(集合元素) $("div span")选取<div>里的所有<span>元素
$("parent > child") 选取parent元素下的child(子)元素,与$("ancestor descendant")有区别的哦,$("ancestor descendant")选择的是后代元素,大家要搞明白 元素数组(集合元素) $("div > span")选取<div>元素下 元素名是<span>的子元素(其实就是直接孩子节点中的span元素)
$("prev + next") 选取紧接在prev元素后的next元素 元素数组(集合元素) $(".one + div")选取class为one的下一个<div>同辈元素
$("prev~siblings") 选取prev元素之后的所有的siblings元素 元素集合(集合元素) $("#two~div")选取id为two的元素后面的所有的<div>同辈元素

在层次选择器中,前面两种使用的比较广泛,后面两种由于在jquery中有更简单的方法代替,因此使用的几率相对较少 。

可以使用next()方法代替$("prev + next").     选择器 $(".one + div ");  等价于$(".one").next("div");

可以使用nextAll()方法代替选择器$("#prev~siblings").   选择器$("#prev~div")等价于$("#prev").nextAll("div");

//选取#prev之后的同辈div元
$("#prev ~ div").css("background","#aaa");
//同上
$("#prev").nextAll("div").css("background","#aaa");

jQuery中的选择器(上)的更多相关文章

  1. js进阶 11-18 jquery中操作选择器的方法有哪些

    js进阶 11-18 jquery中操作选择器的方法有哪些 一.总结 一句话总结:add().addBack().end() 1.add()方法是干嘛的,举一例? 将add()方法后选择器选择的jqu ...

  2. jQuery中的选择器<思维导图>

    选择器是jQuery的重要组成部分,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器.如果能熟练地使用选择器,不仅能简化代码,而且可以达到事半功倍的效果. 下面是关于jQuery中 ...

  3. jQuery中的选择器《思维导图》

    学习jQuery的课程中,我对jQuery中的选择器有了更深的认识,它的简洁写法,完美的兼容性,可靠的处理机制,都让我们省了很多事, 下面是我在学习过程中对jQuery选择器写的思维导图(全屏查看:& ...

  4. jquery中判断选择器,找没找到元素用$().size()==0

    jquery中判断选择器,找没找到元素用$().size()==0

  5. jQuery中,选择器既匹配开头又匹配结尾

    jQuery中,选择器既匹配开头又匹配结尾的方法: [attr^=val]attr$=val [attr^=val][attr$=val]

  6. js进阶 10-4 jquery中基础选择器有哪些

    js进阶 10-4 jquery中基础选择器有哪些 一.总结 一句话总结: 1.群组选择器用的符号是什么? 群组选择器,中间是逗号 2.jquery中基础选择器有哪些? 5种,类,id,tag,群组, ...

  7. jQuery中的选择器(下)

    这一篇主要写过滤选择器和表单选择器 在这里,我不再已表格形式说明(自己太懒了),主要以文字形式说明一下每个选择器的作用描述.  3.过滤选择器 过滤选择器主要是通过特定的过滤规则筛选出所需的DOM元素 ...

  8. JQuery中checkbox选择器

    今天我们讲的是如何选择HTML网页中CheckBox选择器 如下图,是几个checkbox <input type='checkbox'checked="checked"/& ...

  9. JQuery中的选择器的总结

    JQuery的选择器十分的强大,但是我平常经常用到的却十分的有限,趁现在有时间我感觉有必要总结一下. 基本选择器 $("#ID") 选择ID所对应的标签元素 返回一个标签元素$(& ...

随机推荐

  1. linux ip 转发设置 ip_forward

    工作原理: 内网主机向公网发送数据包时,由于目的主机跟源主机不在同一网段,所以数据包暂时发往内网默认网关处理,而本网段的主机对此数据包不做任何回应.由于源主机ip是私有的,禁止在公网使用,所以必须将数 ...

  2. Java Swing客户端小项目

    记录一下两个用java swing写的客户端. 项目1: 关键词:swing  jtable 代码如下: 1.主类: package com.my.agent.client; import java. ...

  3. response.sendRedirect 报 java.lang.IllegalStateException 异常的解决思路

    今天在进行代码开发的时候,出现了 java.lang.IllegalStateException异常,response.sendRedirect("./DEFAULT.html") ...

  4. Linux环境下的IDE,极大提升编程效率

    "一个真正的程序员是不用IDE(译者注:集成开发环境)的,他们都是用带着某某插件的文本编辑器来写代码."我们总能在某些地方听到此类观点.然 而,尽管越来越多的人同意这样的观点,但是 ...

  5. FitVids,一个轻视频插件,操作简单

    最近在找一个视频插件,偶尔看见一个口碑啥的都不错的插件,FitsVids. fitvids.js 是个轻量级,易于使用的 jQuery 插件,用来在网页上播放指定宽度的嵌入视频.Fitvides.js ...

  6. [android] 手机卫士黑名单功能(ListView结合SQLite增删改)

    修改界面,在顶部横条上增加一个添加按钮,点击打开一个自定义对话框,输入电话号码和拦截模式保存到数据库 自定义对话框看这篇http://www.cnblogs.com/taoshihan/p/53703 ...

  7. 读Zepto源码之代码结构

    虽然最近工作中没有怎么用 zepto ,但是据说 zepto 的源码比较简单,而且网上的资料也比较多,所以我就挑了 zepto 下手,希望能为以后阅读其他框架的源码打下基础吧. 源码版本 本文阅读的源 ...

  8. 浩哥解析MyBatis源码(六)——DataSource数据源模块之池型数据源

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6675674.html 1 回顾 上一文中解读了MyBatis中非池型数据源的源码,非池型也 ...

  9. 云计算之路-阿里云上:数据库连接数过万的真相,从阿里云RDS到微软.NET Core

    在昨天的博文中,我们坚持认为数据库连接数过万是阿里云RDS的问题,但后来阿里云提供了当时的数据库连接情况,让我们动摇了自己的想法. 帐户 连接数 A 4077 B 3995 C 741 D 698 E ...

  10. 轻量级操作系统FreeRTOS的内存管理机制(一)

    本文由嵌入式企鹅圈原创团队成员朱衡德(Hunter_Zhu)供稿. 近几年来,FreeRTOS在嵌入式操作系统排行榜中一直位居前列,作为开源的嵌入式操作系统之一,它支持许多不同架构的处理器以及多种编译 ...