常用jQuery选择器汇总

学习【js DOM 编程艺术】,最后面有许多jQuery的选择器,每个都动手敲了一遍。

jQuery 提供了高级选择器的方法。
j

s获取元素的三个基本方法分别是通过标签名,类名和id,即(getElementsByTagName, getElementsByClassName和getElementById)。那么jQuery是如何获取呢?

  1. 通过标签获取:$('tag')
  2. 通过类名获取:$('.className')
  3. 通过id获取:$('#id')

除了上面个三个最基本最简单的,还有下面几个css选择器:

$('*')  选择所有元素
$('tagA tagB')  选择作为tagA后代的tagB元素
$('tagA, tagB, tagC')  选择所有tagA元素,tagB元素和tagC元素
$('tag#id')  选择ID为id的tag元素
$('tag.className')  选择类名为className的tag元素

jQuery支持下列css2.1属性选择器:

$('tag[attr]')  选择所有带有attr属性的tag元素
$('tag[attr*=value]')  选择所有attr属性值中包含字符串value的tag元素

$('tag[attr=value]')  选择所有attr属性值等于value的tag元素
$('tag[attr!=value]')  选择所有attr属性值不等于value的tag元素

$('tag[attr^=value]')  选择所有attr属性值以value开头的tag元素
$('tag[attr$=value]')  选择所有attr属性值以value结尾的tag元素

$('tag[attr~=value]')  选择所有attr属性值 为空格分割的多个字符串且其中一个字符串等于value 的tag元素
$('tag[attr|=value]')  选择所有attr属性值 为连字符分割的字符串切该字符串以value开头的tag元素


子选择器,同辈选择器:

$('tagA > tagB')  选择作为tagA元素子元素的所有tagB元素
$('tagA + tagB')  选择紧邻tagA元素且位于其后的tagB元素
$('tagA ~ tagB')  选择作为tagA同辈元素且位于其后的所有tagB元素

伪类,伪元素选择器:

$('tag: root')  选择作为文档根元素的tag元素
$('tag: nth-child(n)')  选择作为其父元素正数第n个元素的所有tag元素
$('tag: nth-last-child(n)')  选择作为其父元素倒数 第n个元素的所有tag元素
$('tag: nth-of-type(n)')  选择几个同辈tag元素中的正数第n个
$('tag: nth-last-f-type(n)')  选择几个同辈tag元素中的倒数第n个
$('tag: first-child')  选择作为其父元素第一个子元素的tag元素
$('tag: last-child')  选择作为其父元素第一个子元素的tag元素
$('tag: first-of-type')  选择作为同辈tag元素中的第一个
$('tag: last-of-type')  选择作为同辈tag元素中的最后一个
$('tag: only-child')  选择作为其父元素唯一子元素的tag元素
$('tag: only-of-type')  选择作为同辈元素中唯一一个标签为tag的元素
$('tag: empty')  选择所有没有子元素的tag元素
$('tag: enabled')  选择界面元素中所有已经启用的tag元素
$('tag: disabled')  选择界面元素中所有已经禁用的tag元素
$('tag: checked')  选择界面元素中所有已经被选中的tag元素(如:复选框,单选按钮)
$('tag: not(s)')  选择与选择器s不匹配的所有tag元素

其他专有选择器:

$('tag: even')  选择匹配元素集 中偶数序号的元素(适合突出显示表格行)
$('tag: odd')  选择匹配元素集 中奇数序号的元素
$('tag: eq(0)'), $('tag: nth(0)')  选择匹配元素 集中的第一个元素,如页面的第一个段落
$('tag: gt(n)')  选择匹配元素集 中索引值大于n的所有元素
$('tag: lt(n)')  选择匹配元素集 中索引值小于n的所有元素
$('tag: first')  选择匹配元素集 中的第一个元素, 等价于eq(0)
$('tag: last')  选择匹配元素集 中的最后一个元素
$('tag: parent')  选择匹配元素集 中包含子元素(文本节点也算)的所有元素
$('tag: contains('test')')  选择匹配元素集 中包含指定文本的所有元素
$('tag: visible')  选择匹配元素集 中所有可见的元素(包括display属性为block和inline,visibility属性为visible以及type属性不是hidden的表单元素)
$('tag: hidden')  选择匹配元素集 中所有隐藏的元素(包括display属性为none, visibility属性为hidden以及type属性为hidden的表单元素)

一些专门为表单设计的表达式,用于快速访问表单元素:

:input  选择表单中的所有元素
:text  选择所有文本字段
:password  选择所有密码字段
:radio  选择所有单选按钮
:checkbox  选择所有复选框
:submit  选择所有提交按钮
:image  选择所有表单图像
:reset  选择所有重置按钮
:button  选择所有其他按钮