jquery选择器--学习笔记

一、jquery选择器风格:
jquery中的选择器完成继承了CSS的风格。利用JQ选择器,可以非常便捷和快速找出特定的DOM元素,然后为它们添加相应的行为。使用CSS选择器时需要考滤主流浏览器是否支持某些选择器,而jquery无需担心浏览器是否支持这一选择器。


二、jquery简洁写法
(这里是美元符)()函数在很多javascript类库中都被作为一个选择器函数来使用,在jquery中也不例外。其中,(这里是美元符)("#ID")用来代替document.getElementById()函数,既通过ID获取元素;$(“tagName”)用来代替document.getElementsByTagName()函数,即可以通过标签名获取HTML元素。

三、JQuery选择器目录
1. 基本选择器
2. 层次选择器
3. 基本过滤器选择器
4. 内容过滤选择器
5. 可见性过滤选择器
6. 属性过滤选择器
7. 子元素过滤选择器


备注:因符号有冲突已在()内用文字提示


1.基本选择器
选择器描述返回示例
#id根据给定的id匹配一个元素单个元素$(“#test”)选取id为test的元素
.class根据给定的类名匹配元素集合元素$(“.test")选取所有class为test的元素
element根据给定的元素名匹配元素集合元素$(“p”)选取所有p元素
*匹配所有元素集合元素$(“*”)选取所有元素
Selectorl,selector2……,selectorN将每一个选择器匹配到的元素集合并后一起返回集合元素$(“div,span,p,myClass”)选取所有div,span和拥有class为myClass的p标签的一组元素

基本选择器示例
功能代码
改变id为box的元素的背景色$(“#box”).css(“background”,”red”);
改变class为mini的所有元素的背景色$(“.mini”).css(“background”,”blue”);
改变元素名是div的所有元素的背景色$(“div”).css(“background”,”yellow”);
改变所有元素的背景色$(“*”).css(“background”,”#bbffaa”);
改变所有的span元素和id为two的元素的背景色$(“span,#two”).css(“background”,”#bbffaa”);

2. 层次选择器
选择器描述返回示例
$(“ancestor descendant”)选取ancestor元素里的所有descendant(后代元素)集合元素$(“div span”)选取div里的所有的span元素
$(“parent>child”)选取parent元素下的child(子)元素,与 ( “ a n c e s t o r d e s c e n d a n t ” ) 有 区 别 , (“ancestor descendant”)有区别, (ancestordescendant)(“ancestor descendant”)选择的是后代元素集合元素$(“div>span”)选取div元素下元素名是span的子元素
$(“prev+next”)选取紧接在prev元素后的next元素集合元素$(“.one+div”)选取class为one的下一个div同辈元素
$(“prev~siblings”)选取prev元素之后的所有siblings元素集合元素$(“#two~div”)选取id为two的元素后面所有div同辈元素

层次选择器示例
功能代码
改变内所有
的背景色
$(“body div”).css(“background”,”red”);
改变内子
元素的背景色
$(“body >div”).css(“background”,”red”);
改变class为one的下一个
同辈元素背景色
$(“.one + div”).css(“background”,”red”);
改变id为two的元素后面的所有
同辈的背景色
$(“#two~div”).css(“bakground”,”red”);
$(“.one+div”);$(“.one”).next(“div”);
$(“#prev~div”);$(“#prev”).nextAll(“div”);

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

基本过滤器选择器示例
功能代码
改变第1个div元素的背景色$(“div:first”).css(“background”,”red”);
改变最后1个div元素的背景色$(“div:last”).css(“background”,”red”);
改变class不为one的div元素背景色$(“div:not(.one)”).css(“background”,”red”);
改变索引值为偶数的div元素的背景色$(“div:even”).css(“bakground”,”red”);
改变索引值为奇数的div元素的背景色$(“div:odd”).css(“background”,”red”);
改变索引值等于3的div元素的背景色$(“div:eq(3) .css(“background”,”red”);
改变索引值大于3的div元素的背景色$(“div:gt(3).css(“background”,“red”);
改变索引值小于3的div元素的背景色$(“div:lt(3)”).css(“background”,”red”);
改变所有标题元素,例如:h1、h2、h3….$(“:header”).css(“background”,”red”);
改变当前正在执行的动画的元素的背景色$(“:animated”).css(“background”,”red”);
改变当前获取焦点的元素背景色$(“:focus”).css(“background”,”red”);

4. 内容过滤选择器
选择器描述返回示例
:contains(text)选取文本为”text”的元素集合元素$(“div:contains(‘我’)选取含有文本“我”的
元素
:empty选取不包含子元素或者文本的空元素集合元素$(“div:empty”)选取不包含子元素(包括文本元素)的div元素
:has(selector)选取含有选择器所匹配的元素的元素集合元素$(“div:has§”)选取含有p元素的
元素
:parent选取含有子元素或者文本的元素集合元素$(“div:parent”)选取拥有子元素(包括文本元素)的div元素

内容过滤选择器示例
功能代码
改变含有文本di的div元素背景色$(“div:contains(di)”).css(“background”,”red”);
改变不包含子元素(包括文本元素)的div空元素的背景色$(“div:empty”).css(“background”,”red”);
改变class为mini元素的div元素的背景色$(“div:has(.mini)”).css(“background”,”red”);
改变含有子元素(包括文本元素)的div元素的背景色$(“div:prent”).css(“background”,”red”);

5. 可见性过滤选择器
选择器描述返回示例
:hidden选取所有不可见的元素集合元素 ( “ : h i d d e n ” ) 选 取 所 有 不 可 见 的 元 素 。 包 括 &lt; i n p u t = ” h i d d e n ” &gt; , &lt; d i v s t y l e = ” d i s p l a y : n o n e ; ” &gt; 和 &lt; d i v s t y l e = ” v i s b i l i t y : h i d d e n ; ” &gt; 等 元 素 。 如 果 只 想 选 取 &lt; i n p u t &gt; 元 素 , 可 以 使 用 (“:hidden”)选取所有不可见的元素。包括&lt;input=”hidden”&gt;,&lt;div style=”display:none;”&gt;和&lt;div style=”visbility:hidden;”&gt;等元素。如果只想选取&lt;input&gt;元素,可以使用 (:hidden)<input=hidden>,<divstyle=display:none;><divstyle=visbility:hidden;><input>使(“input:hidden”)
:visible选取所有可见元素集合元素$(“div:visible”)选取所有可见的div元素

可见性过滤器示例
功能代码
改变所有可见的
元素的背景色
$(“div:visible”).css(“background”,”red”);
显示隐藏的
元素
$(“div:hidden”).show(3000);

6. 属性过滤选择器
选择器描述返回示例
[attribute]选取拥有此属性的元素集合元素$(“div[id]”)选取拥有属性id的元素
[attribute=value]选取属性的值为value的元素集合元素$(“div[title=test]”)选取属性title为”test”的
元素
[attribute!=value]选取属性的值不等于value集合元素$(“div[title!=test]”)选取属性title不等于”test”的div元素(注意:没有属性title的div元素也会被选取)
[attribute^=value]选取属性的值以value开始的元素集合元素$(“div[title^=test]”)选取属性title以“test”开始的元素
[attribute$=alue]选取属性的值以value结束的元素集合元素 ( “ d i v [ t i t l e (“div[title (div[title=test]”)选取title为“test”结束的div的元素
[attribute*=value]选取属性的值包含有value的元素集合元素$(“div[title*=test”])选取属性title含有“test”的div元素
[attribute> (这里有条竖线)=value]选取属性等于给定字符串或以该字符串为前缀(该字符串后跟一个连字符“-”)的元素集合元素 $(‘div[tiele=”en”]’)选取属性title等于en或以en为前缀(该字符串后跟一个连字符“-”)的元素
[attribute~=value]选取属性用空格分隔的值中包含一个给定值的元素集合元素$(’div[title~=”uk”]’)选取属性title用空格分隔的值中包含字符uk的元素
[attribute 1][attribute2]用属性选择器合并成一个复合属性选择器,满足多个条件。每选择一次,缩小一次范围集合元素 ( “ d i v [ i d ] [ t i t l e (“div[id][title (div[id][title=’test’]”)选取拥有属性id,并且属性title以”test”结束的div元素

属性过滤选择器示例
功能代码
改变含有属性title的div元素的背景色$(“div[title]”).css(“background”,”red”);
改变属性title值等于”test”的div元素的背景色$(“div[title=test]”).css(“background”,”red”);
改变属性title值不等于”test”的div元素的背景色$(“div[title!=test]”).css(“background”,”red”);
改变属性title值以”te”开始的div元素的背景色$(“div[title^=te]”).css(“background”,”red”);
改变属性title值以”est”结束的div元素的背景色 ( “ d i v [ t i t l e (“div[title (div[title=est]”).css(“background”,”red”);
改变属性title值含有”es”的div元素的背景色$(“div[title*=es]”).css(“background”,”red”);
改变含有属性id,并且属性title值含有”es”的div元素的背景色$(“div[id][title*=es]”).css(“background”,”red”);
改变属性title值以”en”开始的div元素背景色$(“div[title^=”en”]”).css(“background”,”red”);
改变属性title等于en或en为前缀(该字条串后跟一个连字符’-‘)的元素的背景色$(“div[title (这里有条竖线)=”en”]”).css(“background”,”red”);
改变属性title用空格分隔的值中包含字符uk的元素的背景色$(“div[title~=”UK”]”).css(“background”,”red”);

7. 子元素过滤选择器
选择器描述返回示例
:nth-child(index/even/odd/equation)选取每个父元素下的第index个子元素或奇偶元素。(index从1算起)集合元素:eq(index)只匹配一个元素,面:nth-child将为每个父元素,并且:nth-child(index)的index是从1开始的,成eq(index)是从0算起。
:first-child选取每个父元素的第1个子元素集合元素:first只返回单个元素,而:first-child选择符将为每个父元素匹配第1个子元素例如:$(“ul li:first-child”),选取每个ul中第1个li元素
:last-child选取每个父元素的最后一个子元素集合元素同样,:last只返回单个元素,面:last-child选择符将为每个父元素匹配最后1个子元素例如:$(“ul li:last-child”),选取每个ul中最后1个li元素
:only-child如果某个元素是它父元素中惟一的子元素,那么将会匹配。如果父元素中包含其他元素,则不会被匹配。集合元素$(:ul li:only-child”)在ul中选取是惟一子元素的li元素

子元素过滤选择器示例
功能代码
改变每个class为one的div父元素下的第2个子元素的背景色$(“div.one:nth-child(2)”).css(“background”,”red”);
改变每个class为one的div父元素下的第1个子元素的背景色$(“div.one:first-child”).css(“background”,”red”);
改变每个class为one的div父子元素下的最后一个子元素的背景色$(“div.one:last-child”).css(“background”,”red”);
如果class为one的div父子元素下只有一个元素,那么则改变这个子元素的背景色$(“div.one:only-child”).css(“background”,”red”);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值