引言
- jQuery是一个javascript库,最为重要的作用就是动态的、灵活的操纵DOM对象;
 - jQuery选择器多种多样,满足了不同的筛选DOM对象的需求;
 - jQuery选择器和css选择器在很大程度上相似,但是jQuery选择器以及jQuery对于选择结果的处理上更加丰富和充实(比如使用回调函数处理选择结果);
 - 本文总结了各种类型的jQuery选择器,当然这还不全面,在工作中如果用到其他类型的、效率更高的选择器我会及时补充;
 
jQuery选择器基本语法
- jQuery选择器的语法相当简单:
 
1  | <script>  | 
- 可以对比下css选择器的语法:
 
1  | <style>  | 
最小粒度选择器
| 选择器 | 选择对象 | 实例 | 
|---|---|---|
| * | 任意元素 | |
| tag name | 选择 | 
h1 | 
| #id | 选择id名称(单一元素) | #test | 
| .class | 选择class(一类元素) | .test | 
| selector(空格):伪类/伪元素 | 加入伪类伪元素,相当于对selector的筛选结果再做逻辑筛选 | $(“#form1 :text”) | 
属性选择器
| 选择器 | 实例 | 选取 | 
|---|---|---|
| [attribute] | $(“[href]”) | 所有带有 href 属性的元素 | 
| [attribute=value] | $(“[href=’#’]”) | 所有 href 属性的值等于 “#” 的元素 | 
| [attribute!=value] | $(“[href!=’#’]”) | 所有 href 属性的值不等于 “#” 的元素 | 
| [attribute$=value] | $(“[href$=’.jpg’]”) | 所有 href 属性的值包含以 “.jpg” 结尾的元素 | 
选择器级联
| 选择器 | 选择对象 | 实例 | 
|---|---|---|
| selector1, selector2 | 不同的选择器用逗号隔开(css),不同选择器直接相连 | $(“.main”).$(“.test”) | 
| selector1selector2selector3 | 元素必须满足所有选择器的条件才能被选中 | $(“.main.btn”) | 
| selector1>selector2 | 筛选出符合selector1的元素的符合selector2的所有直接后代元素 | $(“.main>p”) | 
| selector1(空格)selector2 | 筛选出符合selector1的元素的符合selector2的所有后代元素 | $(“.main p”) | 
| selector1+selector2 | 筛选出符合selector1的元素的紧挨着它的后面的同级(兄弟)元素,这个兄弟元素必须符合selector2 | $(“#test3+#test4”) | 
| selector1~selector2 | 筛选出符合selector1的元素后面的所有的同级(兄弟)元素,这个兄弟元素必须符合selector2 | $(“#test3~#test4”) | 
| $(“selector1”).filter(“selector2”) | 用selector2的筛选条件去过滤selector1的筛选结果 | $(“.main”).filter($(“p”)) | 
伪类和伪元素
- 这里借用书上的和w3cschool的几张图片加以说明;
 - 普通伪类选择器
 

- 文本相关
 

- 子元素相关
 

- 表单相关
 

