C.1 选择符表达式

jQuery的工厂函数$()用于在页面中查找要操作的元素。这个函数接收一个按照类似CSS语法构成的字符串作为参数,这个字符串参数就叫选择符表达式。本书第2章详细讨论了选择符表达式。

C.1.1 简单的CSS选择符

表 C-1

选 择 符匹  配
*所有元素
#id带有给定ID的元素
element给定类型的所有元素
.class带有给定类的所有元素
a, bab匹配的元素
a b作为a后代的b匹配的元素
a > b作为a子元素的b匹配的元素
a + b作为a后面直接同辈元素的b匹配的元素
a ~ b作为a后面同辈的b匹配的元素

C.1.2 在同辈元素间定位

表 C-2

选 择 符匹  配
:nth-child(index)作为其父元素第index个子元素的元素(从1开始计数)
:nth-child(even)作为其父元素第偶数个子元素的元素(从1开始计数)
:nth-child(odd)作为其父元素第奇数个子元素的元素(从1开始计数)
:nth-child(formula)作为其父元素第n个子元素的元素(从1开始计数)。formula(公式)的格式为an+bab为整数
:nth-last-child():nth-child()相同,只不过是从最后一个元素开始倒计数
:first-child作为其父元素第一个子元素的元素
:last-child作为其父元素最后一个子元素的元素
:only-child作为其父元素唯一一个子元素的元素
:nth-of-type():nth-child()相同,只不过只计相同元素
:nth-last-of-type():nth-of-type()相同,只不过是从最后一个元素开始倒计数
:first-of-type同名的同辈元素中的第一个元素
:last-of-type同名的同辈元素中的最后一个元素
:only-of-type没有同名的同辈元素的元素

C.1.3 在匹配的元素间定位

表 C-3

选 择 符匹  配
:first结果集中的第一个元素
:last结果集中的最后一个元素
:not(a)结果集中与a不匹配的所有元素
:even结果集中的偶数元素(从0开始计数)
:odd结果集中的奇数元素(从0开始计数)
:eq(index)结果集中索引为index的元素(从0开始计数)
:gt(index)结果集中所有位于给定索引之后(大于该索引)的元素(从0开始计数)
:lt(index)结果集中所有位于给定索引之前(小于该索引)的元素(从0开始计数)

C.1.4 属性

表 C-4

选 择 符匹  配
[attr]带有属性attr的元素
[attr="value"]attr属性的值为value的元素
[attr!="value"]attr属性的值不为value的元素
[attr^="value"]attr属性的值以value开头的元素
[attr$="value"]attr属性的值以value结尾的元素
[attr*="value"]attr属性的值包含子字符串value的元素
[attr~="value"]attr属性的值是空格分隔的多个字符串,其中一个字符串的值为value的元素
[attr|="value"]attr属性的值等于value或者以value开头后跟一个连字符的元素

C.1.5 表单

表 C-5

选 择 符匹  配
:input所有<input><select><textarea><button>元素
:texttype="text"<input>元素
:passwordtype="password"<input>元素
:filetype="file"<input>元素
:radiotype="radio"<input>元素
:checkboxtype="checkbox"<input>元素
:submittype="submit"<input>元素
:imagetype="image"<input>元素
:resettype="reset"<input>元素
:buttontype="button"<input>元素及<button>元素
:enabled启用的表单元素
:disabled禁用的表单元素
:checked选中的复选框和单选按钮元素
:selected选中的<option>元素

C.1.6 其他自定义选择符

表 C-6

选 择 符匹  配
::root文档的根元素
::header标题元素(如<h1><h2>
::animated其动画正在播放的元素
::contains(text)包含给定文本text的元素
::empty不包含子节点的元素
::has(a)后代元素中至少有一个与a匹配的元素
::parent包含子节点的元素
::hidden隐藏的元素,包括通过CSS隐藏的元素及<input type="hidden" />
::visible:hidden匹配的元素相反
::focus获得键盘焦点的元素
::lang(language)具有给定(在元素的lang属性或<meta>标签中声明的)语言代码的元素
::targetURI标识符指向的目标元素