【前端学习】【jQuery选择器】
jQuery选择器
jQuery选择器
本文内容引自于单东林《锋利的jQuery》,未经原作者准许,禁止以商业目的转载发布!
选择器是jQuery的根基,在jQuery中,对事件处理、遍历DOM(Document Object Model)和Ajax(Asynchronous JavaScript and XML)操作都依赖于选择器。
1 优势
1.1 简洁的写法
$()被jQuery作为选择器函数来使用。例如,$("#ID")用来代替document.getElementById()。
1.2 支持CSS1到CSS3选择器
支持从CSS1~3的部分选择器,同时它也有少量独有的选择器。使用CSS选择器时,开发人员需要考虑主流浏览器是否支持某些选择器。而在jQuery中,开发人员则可以放心地使用jQuery选择器而无需考虑浏览器是否支持这些选择器。
1.3 完善的处理机制
使用jQuery获取网页中不存在的元素也不会报错,例如:
<div>test</div>
<script type="text/javascript">
$('#tt').css("color", "red") // 这里无需判断$('#tt')是否存在
</script>
有了这个预防措施,即使以后因为某种原因删除网页上某个以前使用过的元素,也不用担心这个网页的JavaScript代码会报错。
2 CSS选择器和jQuery选择器
2.1 基本选择器
| CSS | jQuery | 功能 |
|---|---|---|
| #id | $(“#test”) | 选取id为test的元素 |
| .class | $(“.test”) | 选取所有class为test的元素 |
| element | $(“p”) | 选取所有的<p>元素 |
| * | $(“*”) | 选取所有的元素 |
| selector1,selector2,…selectorN | $(“div,span,p.myClass”) | 选取所有<div>,<span>和拥有class为myClass的<p>标签的一组元素 |
2.2 层次选择器
| CSS | jQuery | 功能 |
|---|---|---|
| E F | $(“div span”) | 选取<div>里所有的<span>元素 |
| E>F | $(“div>span”) | 选取<div>元素下元素名是<span>的子元素 |
| E+F | $(“.one+div”) | 选取class为one的下一个<div>同辈元素 |
| E~F | $(“#two~div”) | 选取id为two的元素后面的所有<div>同辈元素 |
2.3 过滤选择器
2.3.1 基本过滤选择器
| CSS | jQuery | 功能 |
|---|---|---|
| :first | $(“div:first”) | |
| :last | $(“div:last”) | |
| :not(selector) | $(“input:not(.myClass)”) | |
| :even | $(“input:even”) | |
| :odd | $(“input:odd”) | |
| :eq(index) :gt(index) :lt(index) | $(“input:eq(1)”) | |
| :header | $(“:header”) | 选取所有的标题元素 |
| :animated | $(“div:animated”) | 选取当前正在执行动画的所有元素 |
| :focus | $(“:focus”) | 选取当前获取焦点的元素 |
2.3.2 内容过滤选择器
| CSS | jQuery |
|---|---|
| :contains(text) | $(“div:contains(“text”)”) |
| :empty | $(“div:empty”) |
| :has(selector) | $(“div:has(p)”) |
| :parent | $(“div:parent”) |
2.3.3 可见性过滤选择器
| CSS | jQuery |
|---|---|
| :hidden | $(“:hidden”) |
| :visible | $(“div:visible”) |
2.3.4 属性过滤选择器
| CSS | jQuery |
|---|---|
| [attribute] | $(“div[id]”) |
| [attribute=value] | $(“div[title=test]”) |
| [attribute!=value] | $(“div[title!=test]”) |
[attribute^=value] $ * | ~ |
$(“div[^=test]”) |
| [attr1][attr2][attrN] | $(“div[id][title$=’test’”]) |
2.3.5 子元素过滤选择器
| CSS | jQuery |
|---|---|
| :nth-child(n) | 同上 |
| :first-child | |
| :last-child | |
| :only-child |
2.3.6 表单对象属性过滤选择器
| CSS | jQuery |
|---|---|
| :enabled | 同上 |
| :disabled | |
| :checked | |
| :selected |
2.4 表单选择器
| CSS | jQuery |
|---|---|
| :input | |
| :text | |
| :password | |
| :radio | |
| :checkbox | |
| :submit | |
| :image | |
| :reset | |
| :button | |
| :file | |
| :hidden |
【前端学习】【jQuery选择器】的更多相关文章
- 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器
× 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...
- 深入学习jQuery选择器系列第八篇——过滤选择器之伪子元素选择器
× 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 本文是子元素选择器的续篇,主要介绍关于nth-of-type()选择器的内容.该部分内容并非没有出现在<锋利的 ...
- 深入学习jQuery选择器系列第四篇——过滤选择器之属性选择器
× 目录 [1]简单属性 [2]具体属性 [3]条件属性 前面的话 属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素,对应于CSS中的属性选择器.属性过滤选择器可分为简单属性选择器.具体属性选 ...
- 深入学习jQuery选择器系列第二篇——过滤选择器之子元素选择器
× 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 在上一篇中已经介绍过基础选择器和层级选择器,本文开始介绍过滤选择器.过滤选择器是jQuery选择器中最为庞大也是最为 ...
- 【前端】jQuery选择器$()的实现原理
今天三七互娱技术面试的时候面试官问了我这个问题,当时一脸懵逼,于是好好总结一下. 当我们使用jquery选择器的时候,$(s).回默认去执行jquery内部封装好的一个init的构造函数每次申明一个j ...
- 前端学习☞jquery
一 什么是jQuery对象? jQuery 对象就是通过jQuery包装DOM对象后产生的对象.jQuery 对象是 jQuery 独有的. 如果一个对象是 jQuery 对象, 那么它就可以使用 j ...
- 深入学习jQuery选择器系列第七篇——表单选择器
× 目录 [1]表单元素 [2]对象属性 前面的话 无论是提交还是传递数据,表单元素在动态交互页面的作用是非常重要的.jQuery专门加入了表单选择器,从而能够极其方便地获取到某个类型的表单元素 表单 ...
- 深入学习jQuery选择器系列第三篇——过滤选择器之索引选择器
× 目录 [1]通用形式 [2]首尾索引 [3]奇偶索引[4]范围索引 前面的话 上一篇介绍了过滤选择器中的子元素选择器部分,本文开始介绍极易与之混淆的索引选择器 通用形式 $(':eq(index) ...
- 前端学习——JQuery Ajax使用经验
0.前言 在项目推进过程中常常使用Ajax,通过Jquery提供的函数能够很方便的使用Ajax,可是在实际使用中也遇到一些问题,比如怎样防止浏览器使用缓存,怎样使用同步方式等.通过博文整理总结 ...
- 前端学习-jQuery
老师博客:https://www.cnblogs.com/yuanchenqi/articles/6070667.html day43,day44 jquery 中文文档:http://jquery. ...
随机推荐
- 逻辑推理:在一个100条语句的列表中,第n条语句是“在这个列表中,恰有n条语句为假”,可以得出什么结论?
<离散数学及其应用>第六版1.1练习题第43题的个人分析 题目:在一个100条语句的列表中,第n条语句是"在这个列表中,恰有n条语句为假".......... ...
- (转)理想化的 Redis 集群
一个豁达的关键是正确乐观的面对失败的系统.不需要过多的担心,需要一种去说那又怎样的能力.因此架构的设计是如此的重要.许多优秀的系统没有进一步成长的能力,我们应该做的是去使用其他的系统去共同分担工作. ...
- stl的实现原理简单讲解,通熟易懂
总结 需要经常随机访问请用vector 2.list list就是双向链表,元素也是在堆中存放,每个元素都是放在一块内存中,它的内存空间可以是不连续的,通过指针来进行数据的访问,这个特点使得它的随机存 ...
- Java权限讲解
Java访问权限就如同类和对象一样,在Java程序中随处可见. Java的访问权限,根据权限范围从大到小为:public > protected > package > privat ...
- SQL SERVER 遇到Unable to find the requested .Net Framework Data Provider. It may not be installed. (System.Data)
今天新装的SQLSERVER 2012 EXPRESS 用于客户端程序 安装完成后打开登陆SQLSERVER 一切正常 当查看表定义.视图结构时,弹出一下内容 Unable to find the r ...
- java将多个连续的空格转化成一个空格
java将多个连续的空格转化成一个空格: System.out.println("a a".replaceAll(" + ", " ")); ...
- ngx_cdecl
ngx_cdecl 作为跨平台用,现在理解有限,以后补充 _cdecl 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些 ...
- C#获取“所有用户桌面”的路径
想用C#得到The All Users Desktop(Public\Desktop)的路径. 原来以为很简单,然而 Environment.GetFolderPath(Environment.Spe ...
- 转发 PHP 资料(一)
WebShell隐藏思路.webshell磁盘读写动态检测.webshell沙箱动态检测(2) 作为WebShell检测.CMS修复.WebShell攻防研究学习的第二篇文章 本文旨在研究Webs ...
- 在linux下配置Nginx+Java+PHP的环境
Apache对Java的支持很灵活,它们的结合度也很高,例如Apache+Tomcat和Apache+resin等都可以实现对Java应用 的支持.Apache一般采用一个内置模块来和Java应用服务 ...