目录
①基本过滤选择器可以选取第一个元素、最后一个元素、索引为偶数或奇数的元素
jQuery选择器类似于CSS选择器,用来选取网页中的元素
1、分类
jQuery选择器功能强大,种类也很多,分类如下:
①类CSS选择器
- 基本选择器
- 层次选择器
- 属性选择器
②过滤选择器
- 基本过滤选择器
- 可见性过滤选择器
2、基本选择器
基本选择器包括标签选择器、类选择器、ID选择器、并集选择
器、交集选择器和全局选择器。
名称 | 语法构成 | 描述 | 示例 |
标签选择器 | element | 根据给定的标签名匹配元素 | $("h2" )选取所有h2元素 |
类选择器 | .class | 根据给定的class匹配元素 | $(" .title")选取所有class为title的元素 |
ID选择器 | #id | 根据给定的id匹配元素 | $(" #title")选取id为title的元素 |
名称 | 语法构成 | 描述 | 示例 |
并集选择器 | selector1,selector2,...,selectorN | 将每一个选择器匹配的元素合并后一起返回 | $("div,p,.title" )选取所有div、p和拥有class为title的元素 |
交集选择器 | element.class或element#id | 匹配指定class或id的某元素或元素集合 | $("h2.title")选取所有拥有class为title的h2元素 |
全局选择器 | * | 匹配所有元素 | $("*" )选取所有元素 |
3、层次选择器
层次选择器通过DOM 元素之间的层次关系来获取元素。
名称 | 语法构成 | 描述 | 示例 |
后代选择器 | ancestor descendant | 选取ancestor(祖先)元素里的所有descendant(后代)元素 | $("#menu span" )选取#menu下的<span>元素 |
子选择器 | parent>child | 选取parent元素下的child(子)元素 (直系后代元素) | $(" #menu>span" )选取#menu的子元素<span> |
相邻元素选择器 | prev+next | 选取紧邻prev元素之后的next元素 | $(" h2+dl " )选取紧邻<h2>元素之后的同辈元素<dl> |
同辈元素选择器 | prev~sibings | 选取prev元素之后的所有siblings元素 | $(" h2~dl " )选取<h2>元素之后所有的同辈元素<dl> |
4、属性选择器
属性选择器通过HTML元素的属性来选择元素
名称 | 语法构成 | 描述 | 示例 |
属性选择器 | [attribute] | 选取包含给定属性的元素 | $(" [href]" )选取含有href属性的元素 |
[attribute=value] | 选取等于给定属性是某个特定值的元素 | $(" [href ='#']" )选取href属性值为“#”的元素 | |
[attribute !=value] | 选取不等于给定属性是某个特定值的元素 | $(" [href !='#']" )选取href属性值不为“#”的元素 |
名称 | 语法构成 | 描述 | 示例 |
属性选择器 | [attribute^=value] | 选取给定属性是以某些特定值开始的元素 | $(" [href^='en']" )选取href属性值以en开头的元素 |
[attribute$=value] | 选取给定属性是以某些特定值结尾的元素 | $(" [href$='.jpg']" )选取href属性值以.jpg结尾的元素 | |
[attribute*=value] | 选取给定属性是包含某些值的元素 | $(" [href* ='txt']" )选取href属性值中含有txt的元素 | |
[selector] [selector2] [selectorN] | 选取满足多个条件的复合属性的元素 | $("li[id][title=新闻要点]" )选取含有id属性和title属性为新闻要点的<li>元素 |
多属性条件选择
属性选择器支持多属性条件复合查找元素
$("li[class][title*=y]").css("background-color","#09F")
//改变包含class属性,且title属性的值中含有y的<li>元素的背景颜色
过滤选择器
过滤选择器通过特定的过滤规则来筛选元素
语法特点是使用“:”,如使用$(“li:first”)来选取第一个li元素
主要分类如下:
- 基本过滤选择器
- 可见性过滤选择器
- 表单对象过滤选择器
- 内容过滤选择器、子元素过滤选择器……
5、基本过滤选择器
①基本过滤选择器可以选取第一个元素、最后一个元素、索引为偶数或奇数的元素
名称 | 语法构成 | 描述 | 示例 |
基本过滤选择器 | :first | 选取第一个元素 | $(" li:first" )选取所有<li>元素中的第一个<li>元素 |
:last | 选取最后一个元素 | $(" li:last" )选取所有<li>元素中的最后一个<li>元素 | |
:even | 选取索引是偶数的所有元素(index从0开始) | $(" li:even" )选取索引是偶数的所有<li>元素 | |
:odd | 选取索引是奇数的所有元素(index从0开始) | $(" li:odd" )选取索引是奇数的所有<li>元素 |
②基本过滤选择器可以根据索引的值选取元素
名称 | 语法构成 | 描述 | 示例 |
基本过滤选择器 | :eq(index) | 选取索引等于index的元素(index从0开始) | $("li:eq(1)" )选取索引等于1的<li>元素 |
:gt(index) | 选取索引大于index的元素(index从0开始) | $(" li:gt(1)" )选取索引大于1的<li>元素(注:大于1,不包括1) | |
:lt(index) | 选取索引小于index的元素(index从0开始) | $(“li:lt(1)” )选取索引小于1的<li>元素(注:小于1,不包括1) |
③基本过滤选择器还支持一些特殊的选择方式
名称 | 语法构成 | 描述 | 示例 |
基本过滤选择器 | :not(selector) | 选取去除所有与给定选择器匹配的元素 | $(" li:not(.three)" )选取class不是three的元素 |
:header | 选取所有标题元素,如h1~h6 | $(":header" )选取网页中所有标题元素 | |
:focus | 选取当前获取焦点的元素 | $(":focus" )选取当前获取焦点的元素 |
6、可见性过滤选择器
可见性过滤选择器可以通过元素显示状态来选取元素
名称 | 语法构成 | 描述 | 示例 |
可见性过滤选择器 | :visible | 选取所有可见的元素 | $(":visible" )选取所有可见的元素 |
:hidden | 选取所有隐藏的元素 | $(":hidden" ) 选取所有隐藏的元素 |
$(" p:hidden").show();//获取隐藏的<p>元素,使其显示
$(" p:visible").hide();//获取显示的<p>元素,使其隐藏
7、特殊符号的转义
选择器中的特殊符号需要转义,在如下html代码中:
<div id="id#a">aa</div>
<div id="id[2]">cc</div>
获取这两个元素的选择器:
8、选择器中的空格
选择器的书写规范很严格,多一个空格或少一个空格,都会影响选择器的效果