基本选择器
$('#id')——匹配所有#id
$('p')——匹配所有的p标签
$('.class')——匹配所有.class
$('*')——$('#id *')匹配#id下所有的子节点
$('#id,.class')——匹配所有#id以及.class
层次选择器
父子层次
$('#parent .span1')——匹配parent下子节点中所有的class属性为span1的(匹配所有派生子节点中的span1)
$('#parent > p')——匹配parent下子节点中所有的p标签(只匹配儿子节点的p,孙子节点的p不会被匹配)
兄弟层次
$('pre + next') ——匹配紧挨着pre的next节点(没有挨着pre的节点不会被匹配到)
$('pre ~ next')——匹配pre后面所有的所有next(只要是在pre后面的next都会被匹配到)
子元素选择器
$('li:nth-child(2)') //匹配每个li所在的不同的父节点下的第2个li
$('li:nth-child(odd)') //匹配每个li所在的不同的父节点下的奇数(与eq()不同下标从1开始)
$('li:nth-child(even)') //匹配每个li所在的不同的父节点下的偶数(与eq()不同下标从1开始)
$('li:eq(2)') //匹配所有li中的第3个$('li:first-child') //以li的各个父节点为准,匹配其各自的第一个子节点
$('li:last-child') //以li的各个父节点为准,匹配其各自的最后一个子节点
$('li:only-child') //如果某个li是某一个父节点唯一的一个子节点,那么这个li会被匹配
过滤选择器(冒号前后不能有空格)
简单过滤
$('li:first')——匹配第一个li标签
$('li:last')——匹配最后li标签
$('#id p:not(#np)')——匹配#id下子节点所有id不为np的p标签
$('li:odd')——第奇数个li(索引从0开始)
$('li:even')——第偶数个li(索引从0开始)
$('li:eq(0)')——第0个li(索引从0开始)
$('li:gt(0)')——大于0的li(索引从0开始)
$('li:lt(1)')——小于1的li(索引从0开始)
$('.h:header')——匹配所有.h中的标题标签,例如(h1,h2...)
内容过滤
$('div:contains("contains")')——会匹配到所有内容中包含contains的div,多重div嵌套的也会匹配到外层div
$('div:empty')——匹配不包含子节点已经文本节点的div
$('div:has("p")')——匹配所有包含p元素的div
$('div:parent')——匹配所有含有子节点的div
可见性过滤
(display:none) 和(visibility:hidden)两种方式隐藏有何异同:页面都看不到以上元素。第一种方式,不占据物理空间;第二种方式,占据物理空间。
$('div:hidden')——匹配所有隐藏的div($('input:hidden')——匹配所有的隐藏域)
$('div:visibility')——匹配visibility:hidden的div
属性选择器
$('div[id]') //匹配有id的div
$('div[id="warp"]') //匹配id=warp的div
$('div[id!="warp"]') //匹配id不是warp的div
$('div[id^="warp"]') //匹配id值以warp的开头div
$('div[id$="warp"]') //匹配id值以warp的结尾div
$('div[id*="warp"]') //匹配id值包含warp字符的div
$('input[type=checkbox][checked=true]') //符合选择器,匹配满足多个条件的