Css代码里,一行一行的代码,我们总是尽可能的找着那一丝一毫的规律,以求在敲代码的时候少敲两行,修改的时候,修改一次,就可以更改所有。
虽然同样的某个标签添加了大部分相同元素,或者添加了相同的事件,但是有时候,就单纯的只想拥有相同的class名称,相同的样式代码的相同标签,只有其中的某一个标签去执行不同的事件,而又不想专门去添加专门的特殊标识,这时就可以使用些特殊技巧,过滤。
世上没有一模一样的人,同一页面的代码也一样,没有完全一模一样的标签。所以,只要找出其中的不同,就可以过滤掉不想要的东西。
1,基本过滤选择器
选取个元素(:first)
$('div:first').css("background","#333");//选择个div元素.
选取较后一个元素(:last)
$('div:last').css("background","#333"); //选择较后一个div元素.
去除所有的与给定选择器匹配的元素(:not(selector))
$('div:not(.one)').css("background","#333"); //选择class不为one的 所有div元素.
选取索引是偶数的所有元素,索引从0开始(:even)
$('div:even').css("background","#333");//选择 索引值为偶数 的div元素.
选取索引是奇数的所有元素,索引从0开始(:odd)
$('div:odd').css("background","#333");//选择 索引值为奇数 的div元素.
选取索引等于指定index的元素,索引从0开始(:eq(index))
$('div:eq(3)').css("background","#333"); //选择 索引等于 3 的元素.
选取索引大于指定index的元素,索引从0开始(:gt(index))
$('div:gt(3)').css("background","#333");//选择 索引大于 3 的元素
选取索引小于指定index的元素,索引从0开始(:lt(index))、
$('div:lt(3)').css("background","#333");//选择 索引小于 3 的元素
选取标题元素(:header)
$(':header').css("background","#333");//选择 所有的标题元素.比如h1, h2, h3等等...
选取当前正在执行的动画的所有元素(:animated)
$(':animated').css("background","#333");//选择 当前正在执行动画的所有元素.
选取当前获取焦点的所有元素(:focus)
$(':focus').css("background","#333");//选择 当前获取焦点的所有元素.
2,内容过滤选择器
选取包含指定文本的元素(:contains(text))
$('div:contains(di)').css("background","#333"); //选取含有文本"di"的div元素.
选取不包含子元素或文本的空元素(:empty)
$('div:empty').css("background","#333"); //选取不包含子元素(或者文本元素)的div空元素.
选取含有选择器匹配元素的元素(:has(selector))
$("div:has('.mini')").css("background","#333");//选取含有class为mini元素 的div元素.
选取包含子元素或文本的空元素(:parent)
$('div:parent').css("background","#333");//选取含有子元素(或者文本元素)的div元素.
3,可见性过滤器
$('div:hidden').show(3000).css("background","#333");//选取所有不可见的元素.包括.
选取可见的元素(:visible)
$('div:visible').css("background","#333");//选取所有可见的元素.
4,属性过滤器
选取拥有此属性的元素([attribute])
$('div[title]').css("background","#333");//选取含有 属性title 的div元素.
选取属性值为value的元素([attribute=value])
$('div[title=test]').css("background","#333");//选取 属性title值等于 test 的div元素.
选取属性值不等于value的元素([attribute!=value])
$('div[title!=test]').css("background","#333");//选取 属性title值不等于 test 的div元素.
选取属性值以value开始的元素([attribute^=value])
$('div[title^=te]').css("background","#333");//选取 属性title值 以 te 开始 的div元素.
选取属性值以value结束的元素([attribute$=value])
$("div[title$=est]").css("background","#333");//选取 属性title值 以 est 结束 的div元素.
选取属性值含有value的元素([attribute*=value])
$("div[title*=es]").css("background","#333");//选取 属性title值 含有 es 的div元素.
选取属性值等于value或前缀为value(即”value-xxx”)的元素([attribute|=value])
$('div[title|="en"]').css("background","#333");//选取 属性title等于en或以en为前缀(该字符串后跟一个连字符'-')的元素
选取属性值用空格分隔的值中包含给定值的元素([attribute~=value])
$('div[title~="uk"]').css("background","#333");//选取 属性title用空格分隔的值中包含字符uk的元素.
组合属性选择器([attribute1][attribute2]…[attributeN])
$("div[id][title*=es]").css("background","#bbffaa");//组合属性选择器,首先选取有属性id的div元素,然后在结果中 选取属性title值 含有 es 的元素.
5,子元素过滤选择器
选取每个父元素下的个子元素,返回集合元素
$('div.one :first-child').css("background","#333");//选取每个父元素下的个子元素
选取每个父元素下的较后一个子元素,返回集合元素
$('div.one :last-child').css("background","#333");//选取每个父元素下的较后一个子元素
选取每个父元素下的唯一子元素,返回集合元素
$('div.one :only-child').css("background","#333");//如果父元素下的仅仅只有一个子元素,那么选中这个子元素
选取每个父元素下的第index个子元素或者奇偶元素,index从1算起
$('div.one :nth-child(2)').css("background","#333");//选取每个父元素下的第2个子元素