JQ 选择器大全
一、基本选择器
选择器 | 描 述 | 返回 | 示例 |
#id | 根据给定id匹配一个元素 | 单个元素 | $("#test") 选取id为test的元素 |
.class | 根据给定类名匹配一个元素 | 集合元素 | $(".test") 选取class为test的元素 |
element | 根据给定元素名匹配一个元素 | 集合元素 | $("p") 选取p元素 |
selector1,selector2...selectorN | 将每一个选择器匹配到元素合成后一起返回 | 集合元素 | $("div , span ,p , myClass")选取所在div span 和拥有class为myClass的标签的一组元素 |
* | 匹配所有元素 | 集合元素 | $("*") 选取所在的元素 |
二、层次选择器
选择器 | 描 述 | 返回 | 示例 |
$("ancestor descendant") | 选取ancestor元素里的所有descendant(后代)元素 | 集合元素 | $("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元素 | 集合元素 | $("#one~div")选取id为two的元素后面的所有div兄弟元素 |
可以用next()方法来代替$("prev + next")
$(".one+div") <==> $(".one").next("div");
可用nextAll()代替$("prev~siblings")
$("#prev~div") <==> $("#prev").nextAll("div");
siblings()方法与前后位置无关,只要是同辈节点就能匹配。
三、过滤选择器
1、基本过滤选择器
选择器 | 描 述 | 返回 | 示例 |
:first | 选取第1个元素 | 单个元素 | $("div:first") |
:last | 选取最后一个元素 | 单个元素 | $("div:last") |
:not(selector) | 去除所有与给定选择器匹配的元素 | 集合元素 | $("input:not(.myClass)") |
:even | 选取索引是偶数的所有元素,索引从0开始 | 集合元素 | $("ul li:even") |
:odd | 选取索引是奇数的所有元素,索引从1开始 | 集合元素 | $("ul li:odd") |
:eq(index) | 选取索引等于index的元素,index从0开始 | 单个元素 | $("ul:eq(3)") |
:gt(index) | 选取索引大于index的元素,index从0开始,不包括index | 集合元素 | $("ul li:gt(3)") |
:lt(index) | 选取索引小于index的元素,index从0开始,不包括index | 集合元素 | $("ul li:lt(3)") |
:header | 选取所有标题元素,如:h1 h2 h3... | 集合元素 | $(":header") |
:animated | 选取当前正在执行动画的所有元素 | 集合元素 | $("div:animated") |
2、内容过滤选择器
选择器 | 描述 | 返回 | 示例 |
:contains(text) | 选取含有文本内容text的元素 | 集合元素 | $("div:contains('我')") |
:empty | 选取不包含子元素或文本的空元素 | 集合元素 | $("div:empty") |
:has(selector) | 选取含有选择器所匹配元素的元素 | 集合元素 | $("div:has(p)") |
:parent | 选取含有子元素或文本的元素 | 集合元素 | $("div:parent") |
3、可见性过滤选择器
选择器 | 描述 | 返回 | 示例 |
:hidden | 选取所有不可见元素 | 集合元素 | $(":hidden") |
:visible | 选取所有可见元素 | 集合元素 | $("div:visible") |
$(":hidden")==》选取所有不可见元素。包括:<input type="hidden"/> 、 <div style="display:none;"> 、<div style="visibility=hidden">等元素。
4、属性过滤选择器
选择器 | 描述 | 返回 | 示例 |
[attribute] | 选取拥有此属性的元素 | 集合元素 | $("div[id]") |
[attribute = value] | 选取属性值为value的元素 | 集合元素 | $("div[title=test]") |
[attribute != value] | 选取属性值不等于value的元素 | 集合元素 | $("div[titil!=test]") |
[attribute ^= value] | 选取属性值以value开始的元素 | 集合元素 | $("div[titil^=test]") |
[attribute $= value] | 选取属性值以value结束的元素 | 集合元素 | $("div[titil$=test]") |
[attribute *= value] | 选取属性值含有value值的元素 | 集合元素 | $("div[titil*=test]") |
[selector][selector2][selectorN] | 用属性选择器合并成一个复合属性选择器,满足多个条件。 | 集合元素 | $("div[id][title=test]") 选取拥有属性id , 并且属性title 等于test的div元素 |
5、子元素过滤选择器
选择器 | 描述 | 返回 | 示例 |
:nth-child(index/even/odd) | 选取每个父元素下的第index个子元素或奇偶元素 index从1开始 | 集合元素 | $("ul li:nth-child(3)") |
:first-child | 选取每个父元素的第1个子元素 | 集合元素 | $("ul li:first-child") |
:last-child | 选取第个父元素下的最后一个子元素 | 集合元素 | $("ul li:last-child") |
:only-child | 如果某个元素是它父元素中惟一的子元素,那么将会 被匹配。如果父元素中含有其它元素,刚不会匹配 | 集合元素 | $("div:only-child") |
:nth-child(even) =>选取每个父元素下的偶子元素
:nth-child(odd) =>选取每个父元素下的奇子元素
:nth-child(3n) =>选取每个父元素下的索引值是3倍数的元素(n从0开始)
6、表单对象属性过滤选择器
选择器 | 描述 | 返回值 | 示例 |
:enabled | 选取所有可用元素 | 集合元素 | $("#form1:enabled") |
:disabled | 选取所有不可用元素 | 集合元素 | $("#form1:disabled") |
:checked | 选取所有被选中的元素 (单选框、复选框) | 集合元素 | $("input:checked") |
:selected | 选取所有被选中的选项元素 (下拉列表) | 集合元素 | $("select:selected") |
四、表单选择器
选择器 | 描述 | 返回 | 示例 |
:input | 选取所有input 、textarea 、select 、button元素 | 集合元素 | $(":input") |
:text | 选取所有的单行文本框 | 集合元素 | $(":text") |
:password | 选取所有的密码框 | 集合元素 | $(":password") |
:radio | 选取所有的单选框 | 集合元素 | $(":radio") |
:checkbox | 选取所有的多选框 | 集合元素 | $(":checkbox") |
:submit | 选取所有的提交按钮 | 集合元素 | $(":submit") |
:image | 选取所有的图像按钮 | 集合元素 | $(":image") |
:reset | 选取所有的重置按钮 | 集合元素 | $(":reset") |
:button | 选取所有的按钮 | 集合元素 | $(":button") |
:file | 选取所有的上传域 | 集合元素 | $(":file") |
:hidden | 选取所有的不可见元素 | 集合元素 | $(":hidden") |