常用jQuery选择器总结


Posted in Javascript onJuly 11, 2014

在Dom 编程中我们只能使用有限的函数根据id 或者TagName 获取Dom 对象. 然而在jQuery 中则完全不同,jQuery 提供了异常强大的选择器用来帮助我们获取页面上的对象, 并且将对象以jQuery 包装集的形式返回。本文主要对常用的jQuery 选择器进行一个介绍及归类。

jQuery 选择器大体上可分为 4 类:基本选择器、层次选择器、过滤选择器、表单选择器。
其中过滤选择器可以分为:简单过滤选择器、内容过滤选择器、可见性过滤选择器、属性过滤选择器、子元素过滤选择器、表单对象属性过滤选择器。

基本选择器:

$("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素
$("div")                     选择所有的div标签元素,返回div元素数组
$(".myClass")           选择使用myClass类的css的所有元素
$("*")                        选择文档中的所有的元素[/code]
可以运用多种的选择方式进行联合选择:例如$("#myELement,div,.myclass")

层叠选择器:

$("form input")         选择所有的form元素中的input元素
$("#main > *")          选择id值为main的所有的子元素
$("label + input")     选择所有的label元素的下一个input元素节点
经测试选择器返回的是label标签后面直接跟一个input标签的所有input标签元素
$("#prev ~ div")       同胞选择器
该选择器返回的为id为prev的标签元素的所有的属于同一个父元素的div标签

基本过滤选择器:

$("tr:first")               选择所有tr元素的第一个
$("tr:last")                选择所有tr元素的最后一个
$("input:not(:checked) + span")  
过滤掉:checked的选择器的所有的input元素
$("tr:even")               选择所有的tr元素的第0,2,4... ...个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始)
$("tr:odd")                选择所有的tr元素的第1,3,5... ...个元素
$("td:eq(2)")             选择所有的td元素中序号为2的那个td元素  
$("td:gt(4)")             选择td元素中序号大于4的所有td元素
$("td:ll(4)")              选择td元素中序号小于4的所有的td元素
$(":header")
$("div:animated")

内容过滤选择器:

$("div:contains('John')")  选择所有div中含有John文本的元素
$("td:empty")           选择所有的为空(也不包括文本节点)的td元素的数组
$("div:has(p)")        选择所有含有p标签的div元素
$("td:parent")          选择所有的以td为父节点的元素数组

可视化过滤选择器:

$("div:hidden")        选择所有的被hidden的div元素
$("div:visible")        选择所有的可视化的div元素

属性过滤选择器:

$("div[id]")              选择所有含有id属性的div元素
$("input[name='newsletter']")    选择所有的name属性等于'newsletter'的input元素
$("input[name!='newsletter']")  选择所有的name属性不等于'newsletter'的input元素
$("input[name^='news']")         选择所有的name属性以'news'开头的input元素
$("input[name$='news']")         选择所有的name属性以'news'结尾的input元素
$("input[name*='man']")          选择所有的name属性包含'news'的input元素
$("input[id][name$='man']")    可以使用多个属性进行联合选择,该选择器是得到所有的含有id属性并且那么属性以man结尾的元素

子元素过滤选择器:

$("ul li:nth-child(2)"),$("ul li:nth-child(odd)"),$("ul li:nth-child(3n + 1)")
$("div span:first-child")          返回所有的div元素的第一个子节点的数组
$("div span:last-child")           返回所有的div元素的最后一个节点的数组
$("div button:only-child")       返回所有的div中只有唯一一个子节点的所有子节点的数组

表单元素选择器:

$(":input")                  选择所有的表单输入元素,包括input, textarea, select 和 button
$(":text")                     选择所有的text input元素
$(":password")           选择所有的password input元素
$(":radio")                   选择所有的radio input元素
$(":checkbox")            选择所有的checkbox input元素
$(":submit")               选择所有的submit input元素
$(":image")                 选择所有的image input元素
$(":reset")                   选择所有的reset input元素
$(":button")                选择所有的button input元素
$(":file")                     选择所有的file input元素
$(":hidden")               选择所有类型为hidden的input元素或表单的隐藏域

表单元素过滤选择器:

$(":enabled")             选择所有的可操作的表单元素
$(":disabled")            选择所有的不可操作的表单元素
$(":checked")            选择所有的被checked的表单元素
$("select option:selected")  选择所有的select 的子元素中被selected的元素

Javascript 相关文章推荐
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
Nov 05 Javascript
jQuery前端框架easyui使用Dialog时bug处理
Dec 05 Javascript
常见的javascript跨域通信方法
Dec 31 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
Jun 23 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
Jun 25 Javascript
Vue.js组件tabs实现选项卡切换效果
Dec 01 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
node+express+ejs使用模版引擎做的一个示例demo
Sep 18 Javascript
浅谈React 服务器端渲染的使用
May 08 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
Aug 01 Javascript
layui table 列宽百分比显示的实现方法
Sep 28 Javascript
Vue父组件监听子组件生命周期
Sep 03 Javascript
基于jQuery的图片不完全按比例自动缩小
Jul 11 #Javascript
js动态改变select选择变更option的index值示例
Jul 10 #Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
Jul 10 #Javascript
js确认删除对话框适用于a标签及submit
Jul 10 #Javascript
JQuery1.8 判断元素是否绑定事件的方法
Jul 10 #Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
Sep 12 #Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
Jul 09 #Javascript
You might like
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
php下实现伪 url 的超简单方法[转]
2007/09/24 PHP
php教程之phpize使用方法
2014/02/12 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
Jquery跨浏览器文本复制插件Zero Clipboard的使用方法
2016/02/28 Javascript
js添加千分位的实现代码(超简单)
2016/08/01 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
深入解析Python中的urllib2模块
2015/11/13 Python
python将一个英文语句以单词为单位逆序排放的方法
2018/12/20 Python
英国经典球衣网站:Classic Football Shirts
2017/05/20 全球购物
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
历史学专业毕业生求职信
2013/09/27 职场文书
英语文学专业学生的自我评价
2013/10/31 职场文书
技术副厂长岗位职责
2013/12/26 职场文书
创意婚礼策划方案
2014/05/18 职场文书
运动会口号16字
2014/06/07 职场文书
2015年教务工作总结
2015/05/23 职场文书
房产证明范本
2015/06/19 职场文书
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python
零基础学java之循环语句的使用
2022/04/10 Java/Android
Windows server 2012 R2 安装IIS服务器
2022/04/29 Servers
Redis keys命令的具体使用
2022/06/05 Redis