jQuery-强大的jQuery选择器 (详解)
jq除常用的选择写法之外的更多方法记录。
原文:jQuery-强大的jQuery选择器 (详解)[转]
1. 基础选择器 Basics
| 名称 | 说明 | 举例 | 
| #id | 根据元素Id选择 | $("divId") 选择ID为divId的元素 | 
| element | 根据元素的名称选择, | $("a") 选择所有<a>元素 | 
| .class | 根据元素的css类选择 | $(".bgRed") 选择所用CSS类为bgRed的元素 | 
| * | 选择所有元素 | $("*")选择页面所有元素 | 
| selector1,  selector2, selectorN  | 
可以将几个选择器用","分隔开然后再拼成一个选择器字符串.会同时选中这几个选择器匹配的内容. | $("#divId, a, .bgRed") | 
2.层次选择器 Hierarchy
| 名称 | 说明 | 举例 | 
| ancestor descendant | 使用"form input"的形式选中form中的所有input元素.即ancestor(祖先)为from, descendant(子孙)为input. | $(".bgRed div") 选择CSS类为bgRed的元素中的所有<div>元素. | 
| parent > child | 选择parent的直接子节点child. child必须包含在parent中并且父类是parent元素. | $(".myList>li") 选择CSS类为myList元素中的直接子节点<li>对象. | 
| prev + next | prev和next是两个同级别的元素. 选中在prev元素后面的next元素. | $("#hibiscus+img")选在id为hibiscus元素后面的img对象. | 
| prev ~ siblings |  选择prev后面的根据siblings过滤的元素  注:siblings是过滤器  | 
$("#someDiv~[title]")选择id为someDiv的对象后面所有带有title属性的元素 | 
3.基本过滤器 Basic Filters
| 名称 | 说明 | 举例 | 
| :first | 匹配找到的第一个元素 | 查找表格的第一行:$("tr:first") | 
| :last | 匹配找到的最后一个元素 | 查找表格的最后一行:$("tr:last") | 
| :not(selector) | 去除所有与给定选择器匹配的元素 | 查找所有未选中的 input 元素: $("input:not(:checked)") | 
| :even | 匹配所有索引值为偶数的元素,从 0 开始计数 | 查找表格的1、3、5...行:$("tr:even") | 
| :odd | 匹配所有索引值为奇数的元素,从 0 开始计数 | 查找表格的2、4、6行:$("tr:odd") | 
| :eq(index) | 匹配一个给定索引值的元素  注:index从 0 开始计数  | 
查找第二行:$("tr:eq(1)") | 
| :gt(index) | 匹配所有大于给定索引值的元素  注:index从 0 开始计数  | 
查找第二第三行,即索引值是1和2,也就是比0大:$("tr:gt(0)") | 
| :lt(index) | 选择结果集中索引小于 N 的 elements  注:index从 0 开始计数  | 
查找第一第二行,即索引值是0和1,也就是比2小:$("tr:lt(2)") | 
| :header | 选择所有h1,h2,h3一类的header标签. | 给页面内所有标题加上背景色: $(":header").css("background", "#EEE"); | 
| :animated | 匹配所有正在执行动画效果的元素 | 只有对不在执行动画效果的元素执行一个动画特效:
 $("#run").click(function(){   | 
4. 内容过滤器 Content Filters
| 名称 | 说明 | 举例 | 
| :contains(text) | 匹配包含给定文本的元素 | 查找所有包含 "John" 的 div 元素:$("div:contains('John')") | 
| :empty | 匹配所有不包含子元素或者文本的空元素 | 查找所有不包含子元素或者文本的空元素:$("td:empty") | 
| :has(selector) | 匹配含有选择器所匹配的元素的元素 | 给所有包含 p 元素的 div 元素添加一个 text 类: $("div:has(p)").addClass("test"); | 
| :parent | 匹配含有子元素或者文本的元素 | 查找所有含有子元素或者文本的 td 元素:$("td:parent") | 
5.可见性过滤器 Visibility Filters
| 名称 | 说明 | 举例 | 
| 
 匹配所有的不可见元素 注:在1.3.2版本中, hidden匹配自身或者父类在文档中不占用空间的元素.如果使用CSS visibility属性让其不显示但是占位,则不输入hidden.  | 
查找所有不可见的 tr 元素:$("tr:hidden") | |
| :visible | 匹配所有的可见元素 | 查找所有可见的 tr 元素:$("tr:visible") | 
6.属性过滤器 Attribute Filters
| 名称 | 说明 | 举例 | 
| [attribute] | 匹配包含给定属性的元素 | 查找所有含有 id 属性的 div 元素:  $("div[id]")  | 
| [attribute=value] | 匹配给定的属性是某个特定值的元素 | 查找所有 name 属性是 newsletter 的 input 元素: $("input[name='newsletter']").attr("checked", true);  | 
| [attribute!=value] | 匹配给定的属性是不包含某个特定值的元素 | 查找所有 name 属性不是 newsletter 的 input 元素:  $("input[name!='newsletter']").attr("checked", true);  | 
| [attribute^=value] | 匹配给定的属性是以某些值开始的元素 | $("input[name^='news']") | 
| [attribute$=value] | 匹配给定的属性是以某些值结尾的元素 | 查找所有 name 以 'letter' 结尾的 input 元素:  $("input[name$='letter']")  | 
| [attribute*=value] | 
 匹配给定的属性是以包含某些值的元素  | 
 查找所有 name 包含 'man' 的 input 元素:   | 
| [attributeFilter1][attributeFilter2][attributeFilterN] | 复合属性选择器,需要同时满足多个条件时使用。 | 找到所有含有 id 属性,并且它的 name 属性是以 man 结尾的:  $("input[id][name$='man']")  | 
7.子元素过滤器 Child Filters
| 名称 | 说明 | 举例 | 
| :nth-child(index/even/odd/equation) | 
 匹配其父元素下的第N个子或奇偶元素 ':eq(index)' 只匹配一个元素,而这个将为每一个父元素匹配子元素。:nth-child从1开始的,而:eq()是从0算起的! 可以使用:   | 
在每个 ul 查找第 2 个li:  $("ul li:nth-child(2)")  | 
| :first-child | 
 匹配第一个子元素 ':first' 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素  | 
在每个 ul 中查找第一个 li:  $("ul li:first-child")  | 
| :last-child | 
 匹配最后一个子元素 ':last'只匹配一个元素,而此选择符将为每个父元素匹配一个子元素  | 
在每个 ul 中查找最后一个 li:  $("ul li:last-child")  | 
| :only-child | 
 如果某个元素是父元素中唯一的子元素,那将会被匹配 如果父元素中含有其他元素,那将不会被匹配。  | 
在 ul 中查找是唯一子元素的 li:  $("ul li:only-child")  | 
8.表单选择器 Forms
| 名称 | 说明 | 解释 | 
| :input | 匹配所有 input, textarea, select 和 button 元素 | 查找所有的input元素:  $(":input")  | 
| :text | 匹配所有的文本框 | 查找所有文本框:  $(":text")  | 
| :password | 匹配所有密码框 | 查找所有密码框:  $(":password")  | 
| :radio | 匹配所有单选按钮 | 查找所有单选按钮 | 
| :checkbox | 匹配所有复选框 | 查找所有复选框:  $(":checkbox")  | 
| :submit | 匹配所有提交按钮 | 查找所有提交按钮:  $(":submit")  | 
| :image | 
 匹配所有图像域  | 
匹配所有图像域:  $(":image")  | 
| :reset | 匹配所有重置按钮 | 查找所有重置按钮:  $(":reset")  | 
| :button | 匹配所有按钮 | 查找所有按钮:  $(":button")  | 
| :file | 匹配所有文件域 | 查找所有文件域:  $(":file")  | 
9.表单过滤器 Form Filters
| 名称 | 说明 | 解释 | 
| :enabled | 
 匹配所有可用元素  | 
查找所有可用的input元素:  $("input:enabled")  | 
| :disabled | 匹配所有不可用元素 | 查找所有不可用的input元素:  $("input:disabled")  | 
| :checked | 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option) | 查找所有选中的复选框元素:  $("input:checked")  | 
| :selected | 匹配所有选中的option元素 | 查找所有选中的选项元素:  $("select option:selected")  | 
以jQuery(v1.3.2)为基础from:http://bbs.chinaandroid.com/showtopic-89.aspx
1).基本
·#id 根据给定的ID匹配一个元素。例如:$("#id")
·element 根据给定的元素名匹配所有元素。例如:$("div")
·.class 根据给定的类匹配元素。例如:$(".style1");
·* 匹配所有元素。例如:$("*")
·selector1,selector2,selectorN 将每一个选择器匹配到的元素合并后一起返回。例如:$("#id,div,.style1")
2).表单
·:button 匹配所有按钮。例如:$(":button")
·:checkbox 匹配所有复选框。例如:$(":checkbox")
·:file 匹配所有文件域。例如:$(":file")
·:hidden 匹配所有不可见元素,或者type为hidden的元素。例如:$("input:hidden")
·:image 匹配所有图像域。例如:$(":image")
·:input 匹配所有 input, textarea, select 和 button 元素。例如:$(":input")
·:password 匹配所有密码框。例如:$(":password")
·:radio 匹配所有单选按钮。例如:$(":radio")
·:reset 匹配所有重置按钮。例如:$(":reset")
·:submit 匹配所有提交按钮。例如:$(":submit")
·:text 匹配所有的单行文本框。例如:$(":text")
·:header 匹配如 h1, h2, h3之类的标题元素。例如:$(":header").css("background", "#EEE");
2.筛选条件
1).属性筛选
·[attribute*=value] 匹配给定的属性是以包含某些值的元素。例如:$("input[name*='man'")
·[attribute!=value] 匹配所有含有指定的属性,但属性不等于特定值的元素。例如:$(input[name!='man');
·[attribute$=value] 匹配给定的属性是以某些值结尾的元素。例如:$("input[name$='man']")
·[attribute=value] 匹配给定的属性是某个特定值的元素。例如:$("input[name='man']");
·[attribute] 匹配包含给定属性的元素。例如:$("div[id]")
·[attribute^=value] 匹配给定的属性是以某些值开始的元素。例如:$("input[name^='man']")
·[selector1][selector2][selectorN] 同时满足多个条件。例如:$("input[id][name$='man']")
·:hidden 匹配所有的不可见元素。例如:$("tr:hidden")
·:visible 匹配所有的可见元素。例如:$("tr:visible")
·:checked 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)。例如:$("input:checked")
·:disabled 匹配所有不可用元素。例如:$("input:disabled")
·:enabled 匹配所有可用元素。例如:$("input:enabled")
·:selected 匹配所有选中的option元素。例如:$("select option:selected")
2).内容筛选
·:contains(text) 匹配包含给定文本的元素。例如:$("div:contains('John')")
·:empty 匹配所有不包含子元素或者文本的空元素。例如:$("td:empty")
·:has(selector) 匹配含有选择器所匹配的元素的元素。例如:$("div:has(p)");
·:parent 匹配含有子元素或者文本的元素。例如:$("td:parent")
3).层级筛选
·ancestor descendant 在给定的祖先元素下匹配所有的后代元素。例如:$("form input")
·parent > child 在给定的父元素下匹配所有的子元素。例如:$("form > input")
·prev + next 匹配所有紧接在 prev 元素后的 next 元素。例如:$("label + input")
·prev ~ siblings 匹配 prev 元素之后的所有 siblings 元素。例如:$("form ~ input")
·:first-child 匹配第一个子元素。例如:$("ul li:first-child")
·:last-child 匹配最后一个子元素。例如:$("ul li:last-child")
·:nth-child(index/even/odd/equation) 匹配其父元素下的第N个子或奇偶元素。例如:$("ul li:nth-child(2)")
·:only-child 如果某个元素是父元素中唯一的子元素,那将会被匹配。例如:$("ul li:only-child")
4).方法筛选
·:animated 匹配所有正在执行动画效果的元素。例如:$("div:animated");
·:eq(index) 匹配一个给定索引值的元素。例如:$("tr:eq(1)")
·:even 匹配所有索引值为偶数的元素,从 0 开始计数。例如:$("tr:even")
·:first 匹配找到的第一个元素。例如:$("tr:first")
·:gt(index) 匹配所有大于给定索引值的元素,从 0 开始计数。例如:$("tr:gt(0)")
·:last 匹配找到的最后一个元素。例如:$("tr:last")
·:lt(index) 匹配所有小于给定索引值的元素。例如:$("tr:lt(2)")
·:not(selector) 去除所有与给定选择器匹配的元素。例如:$("input:not(:checked)")
·:odd 匹配所有索引值为奇数的元素,从 0 开始计数。例如:$("tr:odd")
jQuery-强大的jQuery选择器 (详解)的更多相关文章
- jQuery的介绍和选择器详解
		
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. jQuery 的介绍 引入 jQuery 的原因 在用 js 写代码时, ...
 - Jquery 选择器 详解   js 判断字符串是否包含另外一个字符串
		
Jquery 选择器 详解 在线文档地址:http://tool.oschina.net/apidocs/apidoc?api=jquery 各种在线工具地址:http://www.ostools ...
 - jquery $.trim()去除字符串空格详解
		
jquery $.trim()去除字符串空格详解 语法 jQuery.trim()函数用于去除字符串两端的空白字符. 作用 该函数可以去除字符串开始和末尾两端的空白字符(直到遇到第一个非空白字符串为止 ...
 - CSS选择器详解(伪类)  转 http://blog.csdn.net/Panda_m/article/details/50084699
		
CSS选择器详解 之 伪类 伪类对大小写不敏感 结构伪类选择器 结构伪类是CSS3新增的类型选择器,利用DOM树实现元素过滤,通过文档结构的相互关系来匹配元素,可以减少class和id属性的定义,使文 ...
 - css 10-CSS3选择器详解
		
10-CSS3选择器详解 #CSS3介绍 CSS3在CSS2基础上,增强或新增了许多特性, 弥补了CSS2的众多不足之处,使得Web开发变得更为高效和便捷. #CSS3的现状 浏览器支持程度不够好,有 ...
 - CSS3 基础(1)——选择器详解
		
CSS3选择器详解 一. 属性选择器 在CSS3中,追加了三个属性选择器分别为:[att*=val].[att^=val]和[att$=val],使得属性选择器有了通配符的概念. 选择器 示例 描述 ...
 - CSS系列(8) CSS后代选择器和子选择器详解
		
一.CSS后代选择器详解 1, 生动介绍基本概念 一个标签嵌B在另一个标签A内部,B就是A的后代. 而且,B的后代也是A的后代,这就叫“子子孙孙无穷尽也”. 比如: <div> < ...
 - web前端学习(三)css学习笔记部分(6)-- 选择器详解
		
9.选择器详解 9.1 属性选择器 CSS3 属性选择器,在 CSS3 中,追加了三个属性选择器分别为:[att*=val].[att^=val]和[att$=val],使得属性选择器有了通配符的概 ...
 - web前端学习(三)css学习笔记部分(4)-- CSS选择器详解
		
4. 元素选择器详解 4.1 元素选择器 4.2 选择器分组 用英文逗号","相连,使用相同的样式表 使用通配符对所有元素进行通用设定. 4.3 类选择器详解 4.3.1. ...
 - [置顶] Jquery学习总结(二) jquery选择器详解
		
1.基本选择器 l ID 根据元素ID选择 l Elementname 根据元素名称选择 l Classname 根据元素css类名选择 举例: <input type=”text” id=”I ...
 
随机推荐
- 今天遇到的报错Babel noteThe code generator has deoptimised the styling of ...as it exceeds the max of 500KB.
			
解决办法如下: { test: /.js$/, exclude: /node_modules/, use: 'babel-loader' } 然并卵,我已经设置了这个东西了,突然发现我的文件并不在no ...
 - 对象的反序列化流_ObjectInputStream类
			
对象的反序列化流_ObjectInputStream类 ObjectInputStream反序列化流,将之前使用ObjectOutputStream序列化的原始数据恢复为对象. 构造方法 public ...
 - 字节输出流OutputStream类-字节输出流写入数据到文件
			
字节输出流OutputStream类 java.io.OutputStream抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地.它定义了字节输出流的基本共性功能方法.public v ...
 - JSP第八次作业
			
数据库test 中建个表 stu(stuid 主键 自动增长 ,用户名,密码,年龄) 1.设计一个注册页面,实现用户注册功能2.设计一个登陆页面,实现用户名密码登陆3.两个页面可以互相超链接 1 pa ...
 - 关于我在学习LFU的时候,在开源项目捡了个漏这件事。
			
你好呀,我是歪歪. 这篇文章带大家盘一下 LFU 这个玩意. 为什么突然想起聊聊这个东西呢,因为前段时间有个读者给我扔过来一个链接: 我一看,好家伙,这不是我亲爱的老朋友,Dubbo 同学嘛. 点进去 ...
 - 服务调用OpenFeign
			
1.介绍 ①什么是OpenFeign OpenFeign是在Feign的基础上进行了加强 使用在Client-Consuemr(消费者客户端) Fiegn是一个声明式的Web服务客户端,让编写Web服 ...
 - aop中的名词解释
			
aop中的名词解释 aop spring Joinpoint(连接点) 目标对象中所有可以增强的方法叫做连接点 Pointcut(切入点) 目标对象中要增强的的方法 Advice(通知/增强) 增强的 ...
 - 【KAWAKO】docker暴力上手
			
目录 从docker hub拉取镜像 根据镜像创建容器,同时把本地目录挂载到容器 进入容器 停止容器 删除停止的容器 从docker hub拉取镜像 进入docker hub,搜索自己喜欢的镜像. 复 ...
 - P4349 [CERC2015]Digit Division
			
题目传送门 思路 以下纯考场思路. 今天模拟赛考到了这题的加强版,然后预处理写炸了,\(100\) 变成 \(70\),当是给 CSP 攒 rp 了. 首先一眼看到题目可能会没有思路,没什么关系,手推 ...
 - LeetCode ● 216.组合总和III ● 17.电话号码的字母组合
			
LeetCode 216.组合总和III 分析1.0 回溯问题 组合总和sum == n 时以及path中元素个数 == k 时,res.add(new path) 返回后递归删除掉当前值 class ...