【前端学习】【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. ...
随机推荐
- Swift协议(Protocol)
协议是为方法.属性等定义一套规范,没有具体的实现. 协议能够被类.结构体等具体实现(或遵守). protocol SomeProtocol { // protocoldefinition goes h ...
- 生成 网站“面包屑” XML
using System; using System.Collections.Generic; using System.IO; using System.Threading; using Syste ...
- header函数
header函数 主要用于对http协议头设置相关信息 设置浏览器显示编码(解决乱码) header("Content-type:text/html;charset=utf-8") ...
- 暑假集训(5)第一弹——— Super Jumping! Jumping! Jumping!(hdu1087)
题意概括:在上次与娑殚的三次博弈中,你们都取得了胜利.便向娑殚提出要求,借助他的力量,传送到一个安全的地方. 你们的愿望达成了,不过,你和小A似乎失散了. 街上人来人往的特别热闹,每一个人的脸上都洋溢 ...
- 关键字 virtual
Virtual是C++ OO机制中很重要的一个关键字.只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在Base的派生类Derived中就 ...
- PDF编辑、删除、替换某页面或文字
在工作中,我们常常会用到PDF,当然尤其是会计,我虽然是程序员,但是“小老鼠”是会计,前几天,突然问我,怎么样将PDF中的某个页面替换掉,也就是删掉某页然后再从另外一个地方找一页补上来: 还需要改变这 ...
- vim ctags 的使用
ubantu 先安装 sudo apt-get install ctags 『基本功能使用方法』常用命令列表: 1. $ ctags –R * ($ 为Linux系统Shel ...
- Android 基础(设备显示密度/图片自适应
1. 设备的 显示密度 是由 设备的尺寸 和 设备的分辨率 两个因素决定的. 相同分辨率设备的尺寸越大显示密度越小, 相同尺寸的设备,分辨率越高显示密度越高. 2. 显示密度等级: 160 / 24 ...
- github项目filter_firewall说明
本文编写的目的: 本文是对上传到github上的项目进行说明.github链接:filter_firewall有任何意见或者建议可以Email:18277973721@sina.cn 项目介绍: 包过 ...
- NoSQL性能测试:MongoDB VS SequoiaDB
作 为NoSQL的一个重要类型,文档型NoSQL通常被认为是最接近传统关系型数据库的NoSQL.文档型NoSQL的核心是数据嵌套,这种设计可以从某种 程度上大大简化传统数据库复杂的关联问题.同时由于摆 ...