一、基本选择器
选择器 | 描 述 | 返回 | 示例 |
#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") |