首页 > 网站建设 > 蓝韵观点 > 前端开发 > 筛选元素--JQ过滤器
筛选元素--JQ过滤器

作者:周伯通来源:lanyunwork时间:2018.01.25

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,可见性过滤器

选取不可见的元素(:hidden)

$('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个子元素

 

 

与蓝韵项目经理通话

请输入正确的手机号码格式

信息保护中请放心填写

在线咨询
 
提交成功
关闭浮窗