jQuery中的选择器(上)
从学习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中的选择器(上)的更多相关文章
- js进阶 11-18 jquery中操作选择器的方法有哪些
js进阶 11-18 jquery中操作选择器的方法有哪些 一.总结 一句话总结:add().addBack().end() 1.add()方法是干嘛的,举一例? 将add()方法后选择器选择的jqu ...
- jQuery中的选择器<思维导图>
选择器是jQuery的重要组成部分,在jQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器.如果能熟练地使用选择器,不仅能简化代码,而且可以达到事半功倍的效果. 下面是关于jQuery中 ...
- jQuery中的选择器《思维导图》
学习jQuery的课程中,我对jQuery中的选择器有了更深的认识,它的简洁写法,完美的兼容性,可靠的处理机制,都让我们省了很多事, 下面是我在学习过程中对jQuery选择器写的思维导图(全屏查看:& ...
- jquery中判断选择器,找没找到元素用$().size()==0
jquery中判断选择器,找没找到元素用$().size()==0
- jQuery中,选择器既匹配开头又匹配结尾
jQuery中,选择器既匹配开头又匹配结尾的方法: [attr^=val]attr$=val [attr^=val][attr$=val]
- js进阶 10-4 jquery中基础选择器有哪些
js进阶 10-4 jquery中基础选择器有哪些 一.总结 一句话总结: 1.群组选择器用的符号是什么? 群组选择器,中间是逗号 2.jquery中基础选择器有哪些? 5种,类,id,tag,群组, ...
- jQuery中的选择器(下)
这一篇主要写过滤选择器和表单选择器 在这里,我不再已表格形式说明(自己太懒了),主要以文字形式说明一下每个选择器的作用描述. 3.过滤选择器 过滤选择器主要是通过特定的过滤规则筛选出所需的DOM元素 ...
- JQuery中checkbox选择器
今天我们讲的是如何选择HTML网页中CheckBox选择器 如下图,是几个checkbox <input type='checkbox'checked="checked"/& ...
- JQuery中的选择器的总结
JQuery的选择器十分的强大,但是我平常经常用到的却十分的有限,趁现在有时间我感觉有必要总结一下. 基本选择器 $("#ID") 选择ID所对应的标签元素 返回一个标签元素$(& ...
随机推荐
- 强大的版本管理工具 Git
Git 简介 git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.是 linux 创始人 Linus Torvalds 为了帮助管理 linux 内核开发而开发的一个开 ...
- 初学canvas,遇到width和height显示问题和用excanvas.js兼容IE问题
/*-----------------------ITEYE 祈祷幸福博客原创,转载请注明.-------------------*/ 第一次认真写技术博客文~~~若有不严谨的地方,望指正. 今天是第 ...
- SocketServer模块
在利用select实现伪并发的socket博文中我们说了: 如果要实现一个server端可以和多个客户端进行通信可以使用 1.多线程 2.多进程 3.select I/O多路复用 在那篇博文中我们介绍 ...
- 为什么要学Python
人生苦短,我用python.在大学四年的本科学习中,Python是我接触过语法最简单,功能最为强大的语言,拥有众多第三方库的支持的语言.如果要选一门编程语言作为入门,建议使用Python.但是为了更加 ...
- Vijos1523贪吃的九头龙【树形DP】
贪吃的九头龙 传说中的九头龙是一种特别贪吃的动物.虽然名字叫"九头龙",但这只是说它出生的时候有九个头,而在成长的过程中,它有时会长出很多的新头,头的总数会远大于九,当然也会有旧头 ...
- 手机自动化测试:appium源码分析之bootstrap十二
手机自动化测试:appium源码分析之bootstrap十二 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...
- BinarySearch的一些注意事项
BinarySearch原理比较简单,不过在处理实际问题的过程中需要注意几个小问题: 1. 找出有序数组中第一个为某特定值的数,以及没找到则返回-1 2. 找出有序数组中最后一个为某特定值的数,以及没 ...
- JS的作用域浅谈
作为前端小白,总是对JS的作用域有点迷糊,这里稍微研究了一下分享出来,希望和我一样的小白可以学的一点 首先是一个经典的例子: var a=0,b=0; for (var i = 0; i < 1 ...
- git常见操作和常见错误
最近写了个博客demo,在上传至github时,居然报错了,刚开始学习代码上传,免不了遇到一些问题,报错信息如下: fatal: remote origin already exists. (致命错误 ...
- 使用FSharp 探索Dotnet图像处理功能1--反色变化
坚持写博客是最近的目标.加油. 业余学习fsharp以来一直觉得这才是Dotnet开发,或者说所有开发者应该拥有的语言.配合Visual Studio的代码提示,即时执行窗口.开发程序有着极大的乐趣. ...