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选择器】的更多相关文章

  1. 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器

    × 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...

  2. 深入学习jQuery选择器系列第八篇——过滤选择器之伪子元素选择器

    × 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 本文是子元素选择器的续篇,主要介绍关于nth-of-type()选择器的内容.该部分内容并非没有出现在<锋利的 ...

  3. 深入学习jQuery选择器系列第四篇——过滤选择器之属性选择器

    × 目录 [1]简单属性 [2]具体属性 [3]条件属性 前面的话 属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素,对应于CSS中的属性选择器.属性过滤选择器可分为简单属性选择器.具体属性选 ...

  4. 深入学习jQuery选择器系列第二篇——过滤选择器之子元素选择器

    × 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 在上一篇中已经介绍过基础选择器和层级选择器,本文开始介绍过滤选择器.过滤选择器是jQuery选择器中最为庞大也是最为 ...

  5. 【前端】jQuery选择器$()的实现原理

    今天三七互娱技术面试的时候面试官问了我这个问题,当时一脸懵逼,于是好好总结一下. 当我们使用jquery选择器的时候,$(s).回默认去执行jquery内部封装好的一个init的构造函数每次申明一个j ...

  6. 前端学习☞jquery

    一 什么是jQuery对象? jQuery 对象就是通过jQuery包装DOM对象后产生的对象.jQuery 对象是 jQuery 独有的. 如果一个对象是 jQuery 对象, 那么它就可以使用 j ...

  7. 深入学习jQuery选择器系列第七篇——表单选择器

    × 目录 [1]表单元素 [2]对象属性 前面的话 无论是提交还是传递数据,表单元素在动态交互页面的作用是非常重要的.jQuery专门加入了表单选择器,从而能够极其方便地获取到某个类型的表单元素 表单 ...

  8. 深入学习jQuery选择器系列第三篇——过滤选择器之索引选择器

    × 目录 [1]通用形式 [2]首尾索引 [3]奇偶索引[4]范围索引 前面的话 上一篇介绍了过滤选择器中的子元素选择器部分,本文开始介绍极易与之混淆的索引选择器 通用形式 $(':eq(index) ...

  9. 前端学习——JQuery Ajax使用经验

    0.前言     在项目推进过程中常常使用Ajax,通过Jquery提供的函数能够很方便的使用Ajax,可是在实际使用中也遇到一些问题,比如怎样防止浏览器使用缓存,怎样使用同步方式等.通过博文整理总结 ...

  10. 前端学习-jQuery

    老师博客:https://www.cnblogs.com/yuanchenqi/articles/6070667.html day43,day44 jquery 中文文档:http://jquery. ...

随机推荐

  1. C# 线程--第二线程方法

    概述 上一章节中和大家分享了线程的基础使用方法.在这一章中来和大家分享线程的一些常用方法. 主要包括:线程阻塞,线程终止,线程锁三方面. Thread 的 Sleep 和 Join 方法 Thread ...

  2. SQL通过日期计算年龄

    首先建立一个表如下: ======================= BirthDay datetime not null Age 通过公式计算得出 ======================= 以 ...

  3. (转)软件版本中的Alpha,Beta,RC,Trial是什么意思?

    版本号:V(Version):即版本,通常用数字表示版本号.(如:EVEREST Ultimate v4.20.1188 Beta )Build:用数字或日期标示版本号的一种方式.(如:VeryCD ...

  4. 通过命令行连接oracle数据库/进入sql plus

    1.直接打开SQL Plus登录,需要用户名和密码 开始->程序->Oracle->应用程序开发->sqlplus 我的电脑是“开始”->“Oracle - OraDb1 ...

  5. 算法 replace,replace_copy,back_inserter

    replace (list.begin(), list.end(), , ); // replace any elements with value of 0 by 42 replace算法对输入序列 ...

  6. libevent 初试

    一直就想用一下libevent库,直到今天才去码代码.用法在他的头文件里面写的很清楚,原理的话也不是很难,感谢作者做的工作! 今天做了几个探索: 实现自定义事件类型的设置与触发 尝试 setInter ...

  7. Windows Phone使用sliverlight toolkit实现页面切换动画效果

    使用应用时,好多app在页面切换的时候都有一个动画效果,感觉很炫,也大大增加了用户体验,怎么实现呢? 界面的切换,可以用Windows Phone Toolkit中的TransitionService ...

  8. L013-oldboy-mysql-dba-lesson13

    L013-oldboy-mysql-dba-lesson13 02 18:00 来自为知笔记(Wiz)

  9. Repeater中将int类型和bool类型的字段以字符显示出来

    图一 图二 比如将图一中是否显示中的列显示以图二中的方式显示: 方法1: 1.在后台编写方法:a.aspx.cs代码如下 //IsShow字段显示的方法public string GetStrIsSh ...

  10. iterm2 配色修改

    打开终端 输入 cd ~ vim .bash_profile 插入 export CLICOLOR= export LSCOLORS=gxfxcxdxbxegedabagacad export PS1 ...