jQuery 选择器允许您对 HTML 元素组或单个元素进行操作。
jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。
jQuery 中所有选择器都以美元符号开头:$()。
根据给定的ID匹配一个元素
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery 教程</title> <script src="/Template/Foreground/js/jquery-1.11.1.min.js"></script> </head> <body> <p id="myId">这是第一个p标签</p> <p id="not">这是第二个p标签</p> <script type="text/javascript"> $(function(){ $("#myId").css("color","red"); }); </script> </body> </html>
语法 | 描述 | 实例 |
---|---|---|
基本选择器 | ||
$("#myId") | 根据给定的ID匹配一个元素 | 运行代码 |
$(".myClass") | 根据给定的css类名匹配元素 | 运行代码 |
$("div") | 根据给定的元素标签名匹配所有元素 | 运行代码 |
$("*") | 匹配所有元素,多用于结合上下文来搜索 | 运行代码 |
$("p.myP,div#myDiv") | 指定任意多个选择器,并将匹配到的元素合并到一个结果内 | 运行代码 |
层次选择器 | ||
$("div span") | 在给定的祖先元素下匹配所有的后代元素 | 运行代码 |
$("div > span") | 在给定的父元素下匹配所有的子元素 | 运行代码 |
$("div + p") | 匹配所有紧接在 prev 元素后的 next 元素 | 运行代码 |
$("div ~ p") | 匹配 prev 元素之后的所有 siblings 同辈元素 | 运行代码 |
基本过滤选择器 | ||
$("p:first") | 获取第一个元素 | 运行代码 |
$("p:last") | 获取最后个元素 | 运行代码 |
$("p:not(.del)") | 选取不匹配指定选择器的元素。 | 运行代码 |
$("p:even") | 匹配所有索引值为偶数的元素,从 0 开始计数 | 运行代码 |
$("p:odd") | 匹配所有索引值为奇数的元素,从 0 开始计数 | 运行代码 |
$("p:eq(1)") | 匹配一个给定索引值的元素 | 运行代码 |
$("p:gt(1)") | 匹配所有大于给定索引值的元素 | 运行代码 |
$("p:lt(1)") | 匹配所有小于给定索引值的元素 | 运行代码 |
$(":header") | 选取所有标题元素(h1 到 h6) | 运行代码 |
$(":animated") | 匹配所有正在执行动画效果的元素 | 运行代码 |
内容过滤选择器 | ||
$("div:contains('boys')") | 匹配包含给定文本的元素 | 运行代码 |
$("p:empty") | 匹配所有不包含子元素或者文本的空元素 | 运行代码 |
$("div:has(p)") | 匹配含有选择器所匹配的元素的元素 | 运行代码 |
$("div:parent") | 匹配含有子元素或者文本的元素 | 运行代码 |
可见性过滤选择器 | ||
$("div:visible") | 匹配所有的可见元素 | 运行代码 |
$("div:hidden") | 匹配所有不可见元素,或者type为hidden的元素 | 运行代码 |
属性过滤选择器 | ||
$("div[class]") | 匹配包含给定属性的元素 | 运行代码 |
$("div[class='myDiv']") | 匹配给定的属性是某个特定值的元素 | 运行代码 |
$("div[class!='myDiv']") | 匹配所有不含有指定的属性,或者属性不等于特定值的元素 | 运行代码 |
$("div[class^='my']") | 匹配给定的属性是以某些值开始的元素 | 运行代码 |
$("div[class$='Div']") | 匹配给定的属性是以某些值结尾的元素 | 运行代码 |
$("div[class*='Div']") | 匹配给定的属性是以包含某些值的元素 | 运行代码 |
表单元素选择器 | ||
$(":input") | 匹配所有 input, textarea, select 和 button 元素 | 运行代码 |
$(":text") | 匹配所有的单行文本框 | 运行代码 |
$(":password") | 匹配所有密码框 | 运行代码 |
$(":radio") | 匹配所有单选按钮 | 运行代码 |
$(":checkbox") | 匹配所有复选框 | 运行代码 |
$(":submit") | 匹配所有提交按钮 | 运行代码 |
$(":image") | 匹配所有图像域 | 运行代码 |
$(":reset") | 匹配所重置按钮 | 运行代码 |
$(":button") | 匹配所有按钮 | 运行代码 |
$(":file") | 匹配所有文件域 | 运行代码 |
表单元素过滤选择器 | ||
$(":enabled") | 匹配所有可用元素 | 运行代码 |
$(":disabled") | 匹配所有不可用元素 | 运行代码 |
$(":checked") | 匹配所有选中的被选中元素(复选框、单选框等,select中的option),对于select元素来说,获取选中推荐使用 :selected | 运行代码 |
$("select option:selected") | 匹配所有选中的option元素 | 运行代码 |
子元素过滤选择器 | ||
$("div p:nth-child(2)") | 匹配其父元素下的第N个子或奇偶元素 | 运行代码 |
$("div p:nth-last-child(1)") | 选择所有他们父元素的第n个子元素,计数从最后一个元素开始到第一个,序号从1开始 | 运行代码 |
$("div p:first-child") | 匹配第一个子元素,类似的 :first 匹配第一个元素,而此选择符将为每个父元素匹配一个子元素 | 运行代码 |
$("div p:last-child") | 匹配最后一个子元素,类似的 :last 只匹配最后一个元素,而此选择符将为每个父元素匹配最后一个子元素 | 运行代码 |
$("p:only-child") | 如果某个元素是父元素中唯一的子元素,那将会被匹配,如果父元素中含有其他元素,那将不会被匹配 | 运行代码 |
其他选择器 | ||
$("div:lang(en)") | 选择指定语言的所有元素 | 运行代码 |
$(":target") | 选取当前 URL 中的锚点元素。 | 运行代码 |
$("input:focus") | 匹配当前获取焦点的元素 | 运行代码 |
$(":root") | 选择该文档的根元素,在HTML中,文档的根元素,和$(“:root”)选择的元素一样,永远是<html>元素 | 运行代码 |
$("div[id][class*='Div']") | 复合属性选择器,需要同时满足多个条件时使用 | 运行代码 |
$("p:first-of-type") | 结构化伪类,匹配E的父元素的第一个E类型的子元素 | 运行代码 |
$("p:last-of-type") | 结构化伪类,匹配E的父元素的最后一个E类型的子元素,大体的意思跟 :first-of-type 差不多,只是一个是第一个元素,一个是最后一个元素 | 运行代码 |
$("p:nth-last-of-type(1)") | 选择的所有他们的父级元素的第n个子元素,计数从最后一个元素到第一个,序号从1开始 | 运行代码 |
$("p:nth-of-type(2)") | 选择同属于一个父元素之下,并且标签名相同的子元素中的第n个,序号从1开始 | 运行代码 |
$("p:only-of-type") | 选择所有没有兄弟元素,且具有相同的元素名称的元素,如果父元素有相同的元素名称的其他子元素,那么没有元素会被匹配 | 运行代码 |
$( "div" ).find( "#" + $.escapeSelector( "#target" )) | 这个方法通常被用在类选择器或者ID选择器中包含一些CSS特殊字符的时候,这个方法基本上与CSS中CSS.escape()方法类似,唯一的区别是jquery中的这个方法支持所有浏览器。在jQuery 3.0中被添加 | 运行代码 |