【前端学习】【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. ...
随机推荐
- 第三十一篇、iOS 9版本适配
1.网络适配(强制回退HTTP) 为了强制增强数据访问安全, iOS9 默认会把 所有的http请求 所有从NSURLConnection . CFURL . NSURLSession发出的 HTTP ...
- Objective-C 【单个对象内存管理(野指针&内存泄露)】
------------------------------------------- 单个对象内存管理 (1)野指针 ①定义了一个指针变量,但是并没有赋初值,它随机指向一个东西 ②某指针变量指向的内 ...
- 在O(1)时间删除链表结点
题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点. 链表结点与函数的定义如下: struct ListNode { int m_nValue; ListNode* m_p ...
- Contest1065 - 第四届“图灵杯”NEUQ-ACM程序设计竞赛(个人赛)A蔡老板的会议
题目描述 图灵杯个人赛就要开始了,蔡老板召集俱乐部各部门的部长开会.综合楼有N (1<=N<=1000)间办公室,编号1~N每个办公室有一个部长在工(mo)作(yu),其中X号是蔡老板的办 ...
- 滑动选择日期(基于sui-mobile的移动端)
$(page).on('touchmove','#touchMoveTime',function (event) { touchMove(event); }); scrollBarInit(); // ...
- [CSS]浮动的那点事儿
元素是怎样浮动 元素的水平方向浮动,意味着元素只能左右移动而不能上下移动. 一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止. 浮动元素之后的元素将围绕它. 浮动元素 ...
- Mac下使用Web服务器性能/压力测试工具webbench、ab、siege
Web开发,少不了的就是压力测试,它是评估一个产品是否合格上线的基本标准,下面我们来一一剖析他们的使用方式. 测试前,前面先把系统的端口限制数改大,看看Mac下面的默认限制 ulimit -a ope ...
- CentOS 6.4 中安装部署 Nutch 1.7
1.配置SSH 自行查阅相关资料 2.安装JDK,配置Java环境 自行查阅相关资料 3.安装SVN [root@master ~]# yum install -y subversion 通过SVN签 ...
- Hibernate一对一双向关联映射
关键原因在于对象模型具有方向性: 单向:一端只能加载另一端,不能反过来. 双向:两端都可以加载另一端. 问题来了:如何我们想从身份证端(IdCard)加载人(Person),怎么办呢? 下面我们开始介 ...
- java环境搭建的问题
本人用eclipse开发,首先在java官网中下载最新版本的jdk,jdk的版本一定要与eclipse版本位数相同,否则会提示错误“Java was started but returned exit ...