jQuery 选择器详解


Posted in Javascript onJanuary 19, 2015

$()函数在很多JavaScript类库中都被作为一个选择器函数来使用,在jQuery中就是.

$(“#id”)通过id来获取元素,用来代替document.getElementById()函数.

$(“tagName”)通过标签名来获取元素,用来代替document.getElementsByTagName()函数.

jQuery的基本语法是:$(selector).action(), selector即选择器.

jQuery选择器的分类

jQuery的选择器基本可以分为四大类:

基本选择器(basic)

层次选择器(level)

过滤选择器(filter)

表单选择器(form)

有些类别又可以分为具体的子类别.

基本选择器

jQuery 选择器详解

* 匹配所有元素.示例:$(“*")选取所有元素.

#id根据给定的id匹配元素(最多只返回一个元素).示例: $("#lastname”)选取id="lastname"的元素.

.class根据给定的类名匹配元素.示例:$(".intro”)选取所有class=“intro"的元素.

element根据给定的元素名匹配元素.示例: $(“p")选取所有<p>元素.

.class.class 示例: $(".intro.demo”)选取所有且class="demo”的元素.(交集).

selector1, selector2, …, selectorN, 将每一个选择器匹配到的元素合并后一起返回.(并集).

除了#id选择器返回单个元素外,其他选择器返回的都是元素集合.

这是因为HTML规范里面id应该是唯一的,所以重复id的元素没有被考虑.

如果多个元素的id相同,取这个id也只能获取第一个元素.即获取的jQuery对象的length属性是1.

如果要匹配的元素不存在,则都返回一个空的jQuery对象.

     基本选择器之间可以组合,用逗号分隔,结果取所有条件的结果的并集.

当没有用逗号分隔时,应该是所有条件都满足的交集.

层次选择器

jQuery 选择器详解

$(“ancestor descendant”) 选取ancestor元素里的所有descendant后代元素,包括直接子元素和更深嵌套的后代元素.

例:$(“div span”)选取<div>里的所有的<span>元素.

注意:选择器都是全页面扫描,返回一个集合,所有符合选择条件的元素都会被包括进去.所以多个<div>下面的<span>都会被选择.

$(“parent>child”)选取parent元素下的child子元素,即只有直接子元素被选取.其他后代元素不包括.

例:$(“div>span”)选取<div>元素下元素名是<span>的子元素.

$(“prev+next”)选取紧接在prev元素后的next元素(同一层级).

例:$(“.one+div”)选取class为one的下一个div元素.

$(“prev+siblings”)选取prev元素之后的所有siblings元素(同一层级).

例:$(“#two~div”)选取id为two的元素后面的所有<div>兄弟元素.

等价方法:

$(“prev+next”)等价于方法$(“prev”).next(“next”);选取prev元素之后紧接着的一个next元素.

$(“prev~sublings”)等价于方法$(“prev”).nextAll(“sublings”),选取prev元素之后的所有同级的sublings元素.

而$(“prev”).sublings(“next”)方法选取与prev同辈的所有next元素,与前后位置无关.

过滤选择器

过滤选择器这个大类又分为六个子类:

基本过滤;内容过滤;可见性过滤;属性过滤;子元素过滤;表单对象属性过滤.

基本过滤

jQuery 选择器详解

gt和lt分别是greaterthan和lessthan.

jQuery 选择器详解

内容过滤

jQuery 选择器详解

可见性过滤

jQuery 选择器详解

属性过滤

jQuery 选择器详解

属性过滤是用方括号来标识的.

注意多个属性过滤选择器连在一起的时候,取的是结果的交集.

子元素过滤

jQuery 选择器详解

前面基本过滤选择器里面index是从0算起的,这里子元素过滤选择器的index是从1开始算起的.

表单对象属性过滤

jQuery 选择器详解

表单选择器

jQuery 选择器详解

Javascript 相关文章推荐
Jquery网页出现的乱码问题的三种解决方法
Jun 30 Javascript
Checbox的操作含已选、未选及判断代码
Nov 07 Javascript
JS的数组迭代方法
Feb 05 Javascript
JQuery中DOM实现事件移除的方法
Jun 13 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
Aug 16 Javascript
10行原生JS实现文字无缝滚动(超简单)
Jan 02 Javascript
JavaScript实现的简单加密解密操作示例
Jun 01 Javascript
Vue中的v-for指令不起效果的解决方法
Sep 27 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
Apr 11 Javascript
js实现3D照片墙效果
Oct 28 Javascript
Node.js控制台彩色输出的方法与原理实例详解
Dec 01 Javascript
详解JS函数防抖
Jun 05 Javascript
jQuery使用之标记元素属性用法实例
Jan 19 #Javascript
jQuery应用之jQuery链用法实例
Jan 19 #Javascript
浅谈Unicode与JavaScript的发展史
Jan 19 #Javascript
jQuery中ready事件用法实例
Jan 19 #Javascript
jQuery中offsetParent()方法用法实例
Jan 19 #Javascript
jQuery中outerWidth()方法用法实例
Jan 19 #Javascript
javascript数据类型示例分享
Jan 19 #Javascript
You might like
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
javascript两段代码,两个小技巧
2010/02/04 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
基于jquery的页面划词搜索JS
2010/09/14 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
vue filter 完美时间日期格式的代码
2019/08/14 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
Eclipse + Python 的安装与配置流程
2013/03/05 Python
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
Python读取实时数据流示例
2019/12/02 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
Python异常处理机制结构实例解析
2020/07/23 Python
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
六道php面试题附答案
2014/06/05 面试题
重写子类方法时,抛出异常的书写注意事项
2015/10/17 面试题
医师定期考核实施方案
2014/05/07 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
同意迁入证明模板
2014/10/26 职场文书
2014年宣传思想工作总结
2014/12/10 职场文书
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
图神经网络GNN算法
2022/05/11 Python