选择器
基本
id 根据给定的ID匹配一个元素
element 根据给定的元素名匹配所有元素
.class 根据给定的类匹配元素
- 匹配所有元素
层级
selector1,selector2,…,selectorN 将每一个选择器匹配到的元素合并后一起返回
ancestor descendant 在给定的元素下匹配所有的后代元素
parent >child 在给定的元素下匹配所有的子元素
prev + next 匹配所有紧接在 prev 元素后的 next 元素
prev ~ siblings 匹配 prev元素之后的所有 siblings 元素
基本筛选
:first 获取第一个元素
:not() 去除所有与给定选择器匹配的元素
:even 匹配所有索引值为偶数的元素,从 0 开始计数
:odd 匹配所有索引值为奇数的元素,从 0 开始计数
:eq() 匹配一个给定索引值的元素
:gt() 匹配所有大于给定索引值的元素
:lang 选择指定语言的所有元素。
:last 获取后个元素
:lt() 匹配所有小于给定索引值的元素
:header 匹配如 h1, h2, h3之类的标题元素
:animated 匹配所有正在执行动画效果的元素
:focus 匹配当前获取焦点的元素。
:root 选择该文档的根元素 永远是 元素
:target 选择由文档URI的格式化识别码表示的目标元素。
内容
:contains() 匹配包含给定文本的元素
:empty 匹配所有不包含子元素或者文本的空元素
:has() 匹配含有选择器所匹配的元素的元素
:parent 匹配含有子元素或者文本的元素
可见性
:hidden 匹配所有不可见元素,或者type为hidden的元素
:visible 匹配所有的可见元素
属性
[attribute] 匹配包含给定属性的元素
[attribute=value] 匹配给定的属性是某个特定值的元素
[attribute!=value] 匹配所有不含有指定的属性,或者属性不等于特定值的元素。
[attribute^=value] 匹配给定的属性是以某些值开始的元素
[attribute$=value] 匹配给定的属性是以某些值结尾的元素
[attribute*=value] 匹配给定的属性是以包含某些值的元素
[attrSel1][attrSel2][attrSelN] 复合属性选择器,需要同时满足多个条件时使用
子元素
:firstchild 匹配第一个子元素
:lastchild 匹配后一个子元素
:firstoftype1.9+ 选择所有相同的元素名称的第一个兄弟元素。
:lastoftype1.9+ 选择的所有元素之间具有相同元素名称的后一个兄弟元素。
:nthchild() 匹选中某个元素,该元素必须是某个父元素下的第n个子元素。序号从1开始
:nthlastchild()1.9+ 选中某个元素,该元素必须是某个父元素下的倒数第n个子元素。序号从1开始
:nthoftype()1.9+ 选中某个元素,该元素必须是某个父元素下的指定类型第n个子元素。序号从1开始
:nthlastoftype()1.9+ 选中某个元素,该元素必须是某个父元素下的指定类型倒数第n个子元素。序号从1开始
:onlychild 如果某个元素是父元素中唯一的子元素,那将会被匹配
:onlyoftype1.9+ 选择所有没有兄弟元素和自己相同类型的元素
表单
:input 匹配所有 input, textarea, select 和 button 元素
:text 匹配所有的单行文本框
:password 匹配所有密码框
:radio 匹配所有单选按钮
:checkbox 匹配所有复选框
:submit 匹配所有提交按钮
:image 匹配所有图像域
:reset 匹配所有重置按钮
:button 匹配所有按钮
:file 匹配所有文件域
表单对象属性
:enabled 匹配所有可用元素
:disabled 匹配所有禁用元素
:checked 匹配具有checked属性的radio和checkbox,和有selected属性的option标签
:selected 只匹配有selected属性的option标签