jQuery选择器

选择器

#id 

根据给定的ID匹配一个元素。

使用任何的元字符作为名称的文本部分, 它必须被两个反斜杠转义:\。

element

根据给定的元素标签名匹配所有元素。

.class

根据给定的css类名匹配元素。

*

匹配所有元素

多用于结合上下文来搜索。

selector1,selector...,selectorn

将每一个选择器匹配到的元素合并后一起返回。

你可以指定任意多个选择器,并将匹配到的元素合并到一个结果内。

ancestor descendant

在给定的祖先元素下匹配所有的后代元素

 parent > child  parent > child

在给定的父元素下匹配所有的子元素

prev + next

匹配所有紧接在 prev 元素后的 next 元素

prev ~ siblings

匹配 prev 元素之后的所有 siblings(第一个选择器的同辈) 元素

:first

获取第一个元素

:not(selector)

去除所有与给定选择器匹配的元素

在jQuery 1.3中,已经支持复杂选择器了(例如:not(div a) 和 :not(div,a))

:even

匹配所有索引值为偶数的元素,从 0 开始计数

:odd

匹配所有索引值为奇数的元素,从 0 开始计数

:eq(index)

匹配一个给定索引值的元素

:gt(index)

匹配所有大于给定索引值的元素

:lang(language)

选择指定语言的所有元素。

:lang选择器,匹配有一个语言值等于所提供的语言代码,或以提供的语言代码开始,后面马上跟一个“ - ”的元素。例如,选择器$("div:lang(en)")将匹配<div lang="en"> and <div lang="en-us">(和他们的后代<div>),但不包括<div lang="fr">

对于HTML元素,语言值由lang属性决定,也可能由来自meta元素或HTTP头信息决定。

这种用法的进一步讨论可以在 W3C CSS规范中找到

:last()

获取最后个元素

:lt(index)

匹配所有小于给定索引值的元素

:header

匹配如 h1, h2, h3之类的标题元素

:animated

匹配所有正在执行动画效果的元素

:focus

匹配当前获取焦点的元素。

如同其他伪类选择器(那些以":"开始),建议:focus前面用标记名称或其他选择;否则,通用选择("*")是不言而喻的。换句话说,$(':focus')等同为$('*:focus')。如果你正在寻找当前的焦点元素,$( document.activeElement )将检索,而不必搜索整个DOM树。

:root

选择该文档的根元素。

在HTML中,文档的根元素,和$(":root")选择的元素一样, 永远是<html>元素。

:target

选择由文档URI的格式化识别码表示的目标元素。

如果文档的URI包含一个格式化的标识符,或hash(哈希), 然后:target选择器将匹配ID和标识符相匹配的元素。  例如,给定的URI http://example.com/#foo, $( "p:target" ),将选择<p id="foo">元素。

这个不寻常的用法,可进一步讨论中找到 W3C CSS specification.

:contains(text)

匹配包含给定文本的元素

:empty

匹配所有不包含子元素或者文本的空元素

:has(selector)

匹配含有选择器所匹配的元素的元素

:parent

匹配含有子元素或者文本的元素

:hidden

匹配所有不可见元素,或者type为hidden的元素

:visible

匹配所有的可见元素

[attribute] 属性选择器

匹配包含给定属性的元素。注意,在jQuery 1.3中,前导的@符号已经被废除!如果想要兼容最新版本,只需要简单去掉@符号即可。

:nth-of-type(n|even|odd|formula)

选择同属于一个父元素之下,并且标签名相同的子元素中的第n个。

因为jQuery的实现:nth-是严格来自CSS规范,n值是“1-indexed”,也就是说,从1开始计数。对于所有其他选择器表达式比如:eq() 或 :even ,jQuery遵循JavaScript的“0索引”的计数。

这个不寻常的用法,可进一步讨论中找到W3C CSS specification.

:only-child

如果某个元素是父元素中唯一的子元素,那将会被匹配

如果父元素中含有其他元素,那将不会被匹配。(注:这里的其他元素并不包含文本节点,如:<p><img/>图片</p>,用$('p img:only-child')是可以匹配,感谢:nwujiajie 指正)

:only-of-type

选择所有没有兄弟元素,且具有相同的元素名称的元素。

如果父元素有相同的元素名称的其他子元素,那么没有元素会被匹配。

:input

匹配所有 input, textarea, select 和 button 元素

:text

匹配所有的单行文本框

:password

匹配所有密码框

:radio

匹配所有单选按钮

:checkbox

匹配所有复选框

:submit

匹配所有提交按钮,理论上只匹配 type="submit" 的input或者button,但是现在的很多浏览器,button元素默认的type即为submit,所以很多情况下,不设置type的button也会成为筛选结果。为了防止歧义或者误操作,建议所有的button在使用时都添加type属性。

:image

匹配所有图像域

:reset

匹配所有重置按钮

:button

匹配所有按钮

:file

匹配所有文件域

:hidden

匹配所有不可见元素,或者type为hidden的元素

:visible

匹配所有的可见元素

:enabled

匹配所有可用元素

:disabled

匹配所有不可用元素

:checked

匹配所有选中的被选中元素(复选框、单选框等,select中的option),对于select元素来说,获取选中推荐使用 :selected

:selected

匹配所有选中的option元素

$.escapeSelector(selector)

这个方法通常被用在类选择器或者ID选择器中包含一些CSS特殊字符的时候,这个方法基本上与CSS中CSS.escape()方法类似,唯一的区别是jquery中的这个方法支持所有浏览器。

原文地址:https://www.cnblogs.com/yi-515/p/9067443.html