CSS选择器和JQuery选择器对比

CSS选择器和JQuery选择器对比

CSS选择器JQuery选择器
基本选择器
层级选择器
属性选择器
伪类选择器
伪元素选择器
过滤选择器
内容选择器
可见性选择器
属性过滤器
子元素过滤器
表单选择器
状态过滤选择器
混淆选择器

jQuery选择器

通过选择器,可以获取到页面元素。jQuery具有强大的选择器,跟CSS3选择器类似 。

1、基础选择器
选择器名称描述示例
#idid选择器根据给定的id匹配一个元素$(“#box”);选取id为box元素
.class类选择器根据给定的类名匹配元素$(“.box”);选取所有类名为box元素
element元素选择器根据给定的元素名称匹配元素$(“p”);选取所有

元素

*通配符选择器匹配所有元素$(“*”);选取所有元素
selector1,selector2,selectorN并集选择器将所有选择器匹配到的元素合并后一起返回$(“div,p,.box”);选取所有
元素,所有

元素和所有类名为box元素

2、层次选择器
选择器名称描述示例
$(“ancestor descendant”)后代选择器选取ancestor元素的所有descendant后代标签(不光是儿子,包括孙子/重孙子等)$(“div span”);选取
元素里所有的 元素
$(“parent > child”)子元素选择器找到选取parent 元素中所有直接子元素child(只有儿子,不包括孙子/重孙子等)$(“div>span”);选取
元素下元素名称是 的子元素
$(“prev + next”)相邻兄弟选择器选取prev元素后面紧跟的那个next元素$(“.one+div”);选取类名为one的下一个同级的
元素
$(“prev ~ siblings”)通用兄弟选择器选取prev元素后面的所有next元素$(“#two~div”);选取id名为two元素后面所有同级的
元素
3、过滤选择器
写法描述
$(‘p:first’)选取页面元素内的第一个p元素
$(‘p:last’)选取页面元素内的最后一个p元素
$(‘p:not(.select)’)选取选择器不是select的p元素
$(‘p:even’)选取索引是偶数的P元素(索引从0开始)
$(‘p:odd’)选取索引是奇数的p元素(索引从0开始)
$(‘p:eq(index)’)选取索引等于index的p元素(索引从0开始,索引支持负数)
$(‘p:gt(index)’)选取索引>index的p元素(索引从0开始)
$(‘p:lt(index)’)选取索引<index的p元素(索引从0开始)
$(‘:header’)选取标题元素h1~h6
$(‘:animated’)选取正在执行动画的元素
$(‘input:focus’)选取当前被焦点的元素
jQuery为常用的过滤器提供了丰富的方法
eq(index)获取是index索引值的元素(索引从0开始,负值从后开始)
first()选取第一个元素
last()选取最后一个元素
not(select)选取不是该选择器的元素
4、内容选择器
写法描述
$(‘:contains(“尚硅谷”)’)选取含有”尚硅谷”文本的元素
$(‘:empty’)选取不包含子元素或空文本的元素
$(‘:has(select)’)选取含有该select选择器的元素(必须是父元素上调用,返回的是父元素)
$(‘:parent’)选取含有子元素或文本的元素
has()jQuery提供了一个has()方法作用等同has过滤器
jQuery提供了parent相关方法,但与过滤器含义不等同
parent()选择当前元素的父元素
parents()选择当前元素的祖先元素(包括父元素)
parentsUntil()选择当前元素的祖先元素,遇到指定元素则停止
5、 可见性过滤器
写法描述
$(‘:hidden’)选取所有不可见元素
$(‘:visible’)选取所有可见元素

hidden过滤器一般是包含样式为display:noneinput表单类型为hidden

设置了visibility:hidden的元素,虽然其在物理上是不可见的,但却保留了物理空间,因此该算是可见元素

6、属性过滤器
写法描述
$(‘a[name]’)获取具有这个属性的DOM对象
$(‘a[name =num]’)获取具有这个属性且属性值=num的DOM对象
$(‘a[name ^=num]’)获取具有这个属性且属性值是以num开头的DOM对象
$(‘a[name $=num]’)获取具有这个属性且属性值是以num为结尾的DOM对象
$(‘a[name!=num]’)获取具有这个属性且属性值不等于num的DOM对象
$(‘a[name|=num]’)获取有这个属性且等于属性值或属性值开头匹配后带‘—’符号的DOM对象
$(‘a[name ~=num]’)获取具有这个属性且属性值是以一个空格隔开,其中包含属性值的DOM对象
$(‘a[name *=num]’)获取具有这个属性值且属性值含有指定字符串的DOM对象
$(‘a[xm] [ name =num]’)获取具有这个属性且属性值匹配的DOM对象
7、子元素过滤器
写法描述
$(‘li:first-child’)查找li作为第一个孩子的元素
$(‘li:last-child’)获取li的父元素的最后一个子元素
$(‘li:only-child’)获取只有一个子元素的元素
$(‘li:nth-child(even/odd/index)’)获取li是偶数/奇数/索引的子元素(索引从1开始)
8、表单选择器
写法描述
$(“:input”)匹配所有 input, textarea, select 和 button 元素
$(“:text”)所有的单行文本框, ( " : t e x t " ) 等 价 于 (":text") 等价于 (":text")(“[type=text]”),推荐使用$(“input:text”)效率更高,下同
$(“:password”)所有密码框
$(“:radio”)所有单选按钮
$(“:checkbox”)所有复选框
$(“:submit”)所有提交按钮
$(“:reset”)所有重置按钮
$(“:button”)所有button按钮
$(“:file”)所有文件域
9、状态过滤选择器
写法描述
$(“input:enabled”)匹配可用的 input
$(“input:disabled”)匹配不可用的 input
$(“input:checked”)匹配选中的 input
$(“option:selected”)匹配选中的 option
10、混淆选择器
写法描述
$.escapeSelector(selector)className或IDName是有特殊符号

CSS3 选择器

1 基本选择器(6个)

标签名选择器:

标签名 {
    
}

类名选择器:

.类名 {
    
}

ID选择器:

#ID名 {
    
}

全局选择器:

* {
    
}

并集选择器(多选择器)

选择器1,选择器2,选择器3 {
    
}

交集选择器:

p.item {
    
}
.item.current {
    
}

2 层级选择器(4个)

后代元素选择器:

选择器1 选择器2 {
}

子元素选择器:

选择器1>选择器2 {
    
}
选择器1 > 选择器2 {
    
}

选择后面相邻的一个兄弟元素:

选择器1+选择器2 {
	
}

选择后面所有的兄弟元素:

选择器1~选择器2 {
    
}
/* .nav 下除了第一 a,其他都被选择到了 */
.nav a+a {
    border-left: 1px solid #ccc;
} 

3 属性选择器(5个)

[attrName] 选择拥有attrName 属性的元素。

[attrName="value"] 选择 attrName 属性的值是 value 的元素。

[attrName^="value"] 选择 attrName 属性的值以 value 开头的元素。

[attrName$="value"] 选择 attrName 属性的值以 value 结尾的元素。

[attrName*="value"] 选择 attrName 属性的值中包含 value 的元素。

4 伪类选择器

① 动态伪类选择器(5个)
:link		选择地址没有被访问过的超链接元素
:visited	选择地址被访问过的超链接元素
:hover		选择鼠标悬停在上面的元素。
:active		选择鼠标在上面并且按键按下不松手的元素
:focus		选择获取焦点的元素。
② 目标伪类选择器(1个)
:target		选择当前锚点指向的元素。
③ 语言伪类选择器 (1个,了解)
lang()		根据语言选择元素(lang 属性的值)
④ UI元素伪类选择器(3个)
:enabled	选择可以使用的表单控件(没有设置disabled 属性)
:disabled	选择不可以使用的表单控件(设置了disabled属性)
:checked	选择到被选中的单选按钮、复选框、下拉选项(option)
⑤ 结构伪类选择器(12个)
:root	选择到根元素
:empty	选择到既不能有文本内容也没有后代元素的元素

:first-child			所有兄弟元素中的第一个
:last-child				所有兄弟元素中的最后一个
:nth-child(n)			所有兄弟元素中的第n个,n是个数字
:nth-last-child(n)		所有兄弟元素中的倒数第n个,n是个数字
:only-child				没有兄弟元素的元素

:first-of-type			所有兄弟元素中同类型的第一个
:last-of-type			所有兄弟元素中同类型的最后一个
:nth-of-type(n)			所有兄弟元素中同类型的第n个,n是个数字
:nth-last-of-type(n)	所有兄弟元素中同类型的倒数第n个,n是数字
:only-of-type			没有同类型兄弟元素
⑥ 否定伪类选择器(1个)
:not(选择器)			  排除满足小括号中选择器的元素

5 伪元素选择器(6个)

::first-letter		选择元素中第一字母
::first-line		选择元素中第一行
::after				给元素动态创建最后一个子元素
::before			给元素动态创建第一个子元素
::placeholder		用于设置输入框或文本域中placeholder属性设置的文字的样式
::selection			用于设置被鼠标选中的文字的样式

6 选择器的优先级(权重)

ID选择器 > 类名选择器、伪类选择器、属性选择器  > 标签名选择器、伪元素选择器  > 全局选择器
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值