一:查找元素
* 所有元素
element 该名称的所有元素(p,input)
#id 拥有指定id属性的元素
.class 拥有所有指定class属性的元素
selector1,selector2 能匹配多个选择器的元素
二:基本选择器
div p 一个元素是另一个元素的后代
div > p(parent > child) 一个元素是另一个元素的直接子节点(可以在p后面使用*来指定元素的所有子元素)
div1 + div2(previous + next) 相邻的兄弟选择器,只会选择紧跟在前一个元素之后的那一个元素
div1 ~ div2(previous + siblings) 兄弟选择器会选中前一个元素的所有兄弟元素
三:基本筛选器
:not(selector) 除选择器之外的所有元素(比如div:not(“#summary”))
:first 除去元素中的第一个元素
:last 除去元素的最后一个元素
:even 选中元素中索引编号为偶数的元素
:odd 选中元素中索引编号为奇数的元素
:eq(index) 选中元素中索引编号为参数中指定数字的元素
:gt(index) 选中元素中索引编号大于参数中指定数字的元素
:lt(index) 选中元素中索引编号小于参数中指定数字的元素
header 所有的<h1>到<h6>元素
:animated 正在进行动画的元素
:focus 当前拥有焦点的元素
四:内容筛选器
:contains(“text”) 包含参数中指定文本的元素
:empty 没有子节点的所有元素
:parent 拥有子节点(文本或子元素)的元素
:has(selector) 至少包含一个匹配选择器的元素(例如,div:has(p))匹配所有包含<p>元素的div元素
五:可见性筛选器
:hidden 所有隐藏的元素
:visible 所有在页面布局中占据空间的元素
不会被选中的元素包括:display:none;height/width:0;祖先元素被隐藏;
会选中的元素:visibility:hidden;opacity:0;因为他们都会在布局中占据空间
六:子节点筛选器
:nth-child(expr) 参数中的值是从1开始的索引
:first-child 当前选中元素的第一个子节点
:last-child 当前选中元素的最后一个子节点
:only-child 当元素是父元素中唯一的子节点时
七:属性筛选器
[attribute] 拥有指定属性的元素
[attribute=‘value’] 拥有指定属性,并且值为指定值得元素
[attribute!=‘value’] 拥有指定属性,并且值补位指定值得元素
[attribute^=‘value’] 属性的值以特定的值开头
八:表单选择器
:input 所有的input元素
:text 所有文本类型的input元素
:password 所有密码类型的input元素
:radio 所有的单选按钮
:checkbox 所有的复选框
:submit 所有的提交按钮
:image 所有的图片按钮
:reset 所有的重置按钮
:button 所有的<button>元素
:file 所有的文件选择器
:selected 下拉列表中所有被选中的列表项
:enabled 所有可用的表单元素
:disabled 所有被禁用的表单元素
:checked 所有被选中的单选按钮或复选框