TruthBean

斌君執筆詩為璩

CSS选择器

  1. *通用选择器:选择所有元素,不参与计算优先级,兼容性IE6+

  2. #X id选择器:选择id值为X的元素,兼容性:IE6+

  3. .X 类选择器: 选择class包含X的元素,兼容性:IE6+

  4. X Y后代选择器: 选择满足X选择器的后代节点中满足Y选择器的元素,兼容性:IE6+

  5. X 元素选择器: 选择标所有签为X的元素,兼容性:IE6+

  6. :link, :visited, :focus, :hover, :active链接状态: 选择特定状态的链接元素,顺序LoVe HAte,兼容性: IE4+

  7. X + Y直接兄弟选择器:在X之后第一个兄弟节点中选择满足Y选择器的元素,兼容性: IE7+

  8. X > Y子选择器: 选择X的子元素中满足Y选择器的元素,兼容性: IE7+

  9. X ~ Y兄弟: 选择X之后所有兄弟节点中满足Y选择器的元素,兼容性: IE7+

  10. [attr]:选择所有设置了attr属性的元素,兼容性IE7+

  11. [attr=value]:选择属性值刚好为value的元素

  12. [attr~=value]:选择属性值为空白符分隔,其中一个的值刚好是value的元素

  13. [attr|=value]:选择属性值刚好为value或者value-开头的元素

  14. [attr^=value]:选择属性值以value开头的元素

  15. [attr$=value]:选择属性值以value结尾的元素

  16. [attr*=value]:选择属性值中包含value的元素

  17. [:checked]:选择单选框,复选框,下拉框中选中状态下的元素,兼容性:IE9+

  18. X:after, X::after:after伪元素,选择元素虚拟子元素(元素的最后一个子元素),CSS3中::表示伪元素。兼容性:after为IE8+,::after为IE9+

  19. :hover:鼠标移入状态的元素,兼容性a标签IE4+, 所有元素IE7+

  20. :not(selector):选择不符合selector的元素。不参与计算优先级,兼容性:IE9+

  21. ::first-letter:伪元素,选择块元素第一行的第一个字母,兼容性IE5.5+

  22. ::first-line:伪元素,选择块元素的第一行,兼容性IE5.5+

  23. :nth-child(an + b):伪类,选择前面有an + b - 1个兄弟节点的元素,其中n>= 0, 兼容性IE9+

  24. :nth-last-child(an + b):伪类,选择后面有an + b - 1个兄弟节点的元素其中n >= 0,兼容性IE9+

  25. X:nth-of-type(an+b):伪类,X为选择器,解析得到元素标签,选择前面有an + b - 1个相同标签兄弟节点的元素。兼容性IE9+

  26. X:nth-last-of-type(an+b):伪类,X为选择器,解析得到元素标签,选择后面有an+b-1个相同标签兄弟节点的元素。兼容性IE9+

  27. X:first-child:伪类,选择满足X选择器的元素,且这个元素是其父节点的第一个子元素。兼容性IE7+

  28. X:last-child:伪类,选择满足X选择器的元素,且这个元素是其父节点的最后一个子元素。兼容性IE9+

  29. X:only-child:伪类,选择满足X选择器的元素,且这个元素是其父元素的唯一子元素。兼容性IE9+

  30. X:only-of-type:伪类,选择X选择的元素,解析得到元素标签,如果该元素没有相同类型的兄弟节点时选中它。兼容性IE9+

  31. X:first-of-type:伪类,选择X选择的元素,解析得到元素标签,如果该元素是此此类型元素的第一个兄弟。选中它。兼容性IE9+

补充:
js中可以使用html5的新API document.querySelectorAll 或者 document.querySelector 来通过选择器获取对应的节点,当然也可以使用jQuery的选择器