【JQurey】JQurey选择器

 
 

本文只是我学习《锋利的JQuery》一书的笔记而已

 

首先看总结一下常用的CSS选择器

选择器语法描述示例
标签选择器E{CSS规则}以文档元素作为选择符

td{font:14px;width:120px;}

a{text-decoration:none}

ID选择器#ID{CSS规则}以文档元素唯一标示符ID作为选择符#note{font:14px;width:120px;}
类选择器E.className{CSS规则}以文档标示符class作为选择符

div.note{font:14px;}

.dream{font:14px;}

群组选择器E1,E2,E3{CSS规则}多个选择符应用同样的样式规则 td,p,div,a{font:14px;}
后代选择器E F{CSS规则}元素E的任意后代F #link a{color:red;}
通配选择器*{CSS规则}以文档的所有元素作为选择符 *{font:14px;}

 

JQuery选择器分为,基本选择器,层次选择器,过滤选择器,表单选择器

 

基本选择器:通过id,class,标签名等来查找DOM元素

选择器描述返回示例
#id根据给定的id匹配一个元素单个元素${"#test"}选取id为test的元素
.class根据给定的类名匹配元素集合元素${".test"}选取所有class为test的元素
element根据给定的元素名匹配元素集合元素$("p")选取所有<p>的元素
*匹配所有元素集合元素$("*")选取所有元素

selector1,selector2,

...,selectorN

将每一个选择器匹配到的元素合并后一起返回集合元素$("div,span,p.myClass")选取所有<div><span>和拥有class为myClass的<p>标签的一组元素

 

层次选择器:如果想通过DOM元素之间的层次关系来获取特定元素,例如后代元素子元素,相邻元素和兄弟元素等,那么层次选择器是个非常好的选择

选择器描述返回示例
$("ancestor descendant")选取ancestor元素里的所有descendant后代元素集合元素

$(div span)选取所有div里的所有span元素

 $("paremt>child") 子元素,上面是后代元素 集合元素 $(div>span)选取所有div里的所有span子元素
 $("prev+next") 选取紧跟在prev元素后的next元素  集合元素 $(".one+div")选取class为one的下一个div元素
 $("prev+siblings")  选取prev元素后的所有siblings元素  集合元素 $("#two~div")选取id为two的元素后面所有的div元素
其中:

  $("prev+next")等价于 $("prev").next("div")

  $("prev+siblings")等价于 $("prev").nextAll("div")

 

过滤器选择器:与CSS中的伪类选择器语法相同,即选择器都以一个冒号开头,

按照不同的过滤规则,可以分为,基本过滤,内容过滤,可见性过滤,属性过滤,子元素过滤,表单对象属性过滤

基本过滤器
选择器描述返回示例
:first选取第一个元素单个元素$("div:first"),选取所有div中第一个div元素
:last选取最后一个元素单个元素$("div:last"),选取所有div中最后一个div元素
:not(selector)去除所有给定选择器匹配的元素集合元素$("input:not(.myClass)")选取class不是myClass的所有input元素
:even选取索引是偶数的所有元素,索引从0开始集合元素$("input:even")选取索引是偶数的input元素
:odd选取索引是奇数的所有元素,索引从0开始集合元素$("input:eq(1)")选取索引是奇数的input元素
:eq(index)选取等于index的元素,index从0开始集合元素
:gt(index)选取大于index的元素集合元素
:lt(index)选取小于index的元素集合元素
:header选取所有标题元素,例如<h1><h2><h3>集合元素
:animated选取当前正在执行动画的所有元素集合元素

 

 内容过滤器

选择器描述返回示例
:contains(text)

选取内容文本为text的元素

集合元素$(”div:contains('我')“)选取含有文本'我'的div元素
:empty选取不包含子元素或文本的空元素集合元素 $("div :empty")选取不包含子元素(包括文本元素)的<div>元素
:has(selector)选取含有选择器所匹配的元素的元素集合元素 $("div:has(p)")选取包含<p>元素的<div>元素
:parent选取含有子元素或者文本的元素集合元素$("div:parent")选取拥有子元素(包括文本元素)的<div>元素

 

可见性过滤选择器
选择器描述返回示例
:hidden选取所有不可见的元素集合元素

$(":hidden")选取所有不可见的元素

$("input:hidden")选取所有不可见的<input>元素

:visible选取所有可见的元素集合元素$("div:visible")选取所有可见的div元素

 

属性过滤选择器
选择器描述返回示例
[attrubute]选取拥有此属性的元素集合元素$("div[id]")选择拥有属性id的元素
[attrubute=value]选取属性值为value的元素集合元素$("div[title=test]")选取属性为test的div元素
[attrubute!=value]选取属性值不等于value的元素集合元素下略
[attrubute^=value]选取属性值value开始的元素集合元素 
[attrubute$=value]选取属性值value结束的元素集合元素 
[attrubute*=value]选取属性值包含value的元素集合元素 
[selector1][selector2],...,[selectorN] 复合属性选择器,每选择一次缩小一次范围集合元素 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值