【JavaScript】jQuery选择器

选择器算是jQuery的根基,对事件处理、遍历DOM和Ajax操作都依赖于选择器,所以想要熟练的使用jQuery,首先得熟悉jQuery有哪些选择器

选择器的分类:

通过css选择器语法规则获取元素的jQuery选择器包括:
    1、基本选择器。
    2、层次选择器。
    3、属性选择器。

通过条件过滤选取元素的jQuery选择器包括:
    1、基本过滤选择器。
    2、可见性过滤选择器。


一:基本选择器

jQuery基本选择器与css基本选择器相同,它继承了css选择器的语法和红能。

包括:

1、标签选择器("p")

2、类选择器(".class")

3、ID选择器("#id")

4、并集选择器("p,.class,#id")

5、交集选择器("p.class")


二:层次选择器

什么是jQuery的层次选择器?就是根据获取元素与其父元素、子元素、兄弟元素等的关系而构成的选择器。

包括:
    1、后代选择器  示例:("div p"),选取div下的所有p元素

    2、子选择器  示例:("div>p"),选取div下的子元素p

    3、相邻元素选择器  示例:("div+p"),选取紧邻div元素之后的同辈元素p

    4、同辈元素选择器  示例:("div~p"),选取div元素之后所有同辈元素p


三:属性选择器

什么是属性选择器?顾名思义,就是通过HTML元素的属性选择元素的选择器。
属性选择器的详细说明
语法描述返回值示例
[atribute]选择包含给定属性的元素元素集合$(“[href]”)选择包含href属性的元素
[atribute=value]选取等于给定属性是某个特定值的元素元素集合$(“[href=’#’]”)选取href属性值为“#”的元素
[atribute!=value]选取不等于给定属性是某个特定值的元素元素集合$(“[href!=’#’]”)选取href属性值不为“#”的元素
[atribute^=value]选取给定属性是以某些特定值开始的元素元素集合$(“[href^=’en’]”)选取href属性值以“en”开头的元素
[atribute$=value]选取给定属性是以某些特定值结尾的元素元素集合$(“[href =’en’]”)选取href属性值以“en”结尾的元素
[atribute*=value]选取给定属性是包含某些特定值的元素元素集合$(“[href*=’en’]”)选取href属性值中包含有“en”的元素


四:基本过滤选择器

语法描述返回值示例
:first选取第一个元素单个元素$(“li:first”)选取所有li元素中的第一个li元素
:last选取最后一个元素单个元素$(“li:last”)选取所有li元素中的最后一个li元素
:not(selector)选取去除所有与给定选择器匹配的元素元素集合$(“li:not(.s)”)选取所有class不是s的元素
:even选取索引是偶数的所有元素(index从0开始)单个元素$(“li:even”)选取索引是偶数的所有li元素
:odd选取索引是奇数的所有元素(index从0开始)单个元素$(“li:odd”)选取索引是奇数的所有li元素
:eq(index)选取索引等于index的元素集合元素$(“li.eq(1)”)选取索引等于1的li元素
:gt(index)选取索引大于index的元素集合元素$(“li.gt(1)”)选取索引大于1的li元素
:li(index)选取索引小于index的元素集合元素$(“li.lt(1)”)选取索引小于1的li元素(小于1,不包括1)

五:可见性过滤选择器

什么是可见性过滤选择器?顾名思义啊,就是是否看得见!
就是你是要选择看得见的选择器还是看不见的选择器!
可见性过滤选择器
选择器描述返回值示例
:visble选取所有可见的元素集合元素$(“p:visble”)选取所有可见的p标签元素
:hidden选取所有隐藏的元素集合元素$(“p:hidden”)选取所有隐藏的p标签元素

六:jQuery选择器注意事项

1.选择器是否包含特殊符号

    HTML示例代码:

        <div id = "id#a"></div>
        <div id = "id[a]"></div>

    按照普通的方式获取,例如
        $("#id#a");
        $("#id[a]");

    是无法正确的获取到元素的,正确的写法如下:

        $("#id\\#a");
        $("#id\\[a\\]");

    对标签中的特殊符号进行转义后即可正确获取

2.选择器中包含有空格
<div class="text">
    <div style="display:none"></div>
    <div style="display:none"></div>
    <div style="display:none"></div>
    <div class="test" style="display:none"></div>
</div>
<div class="test" style="display:none"></div>
<div class="test" style="display:none"></div>

//使用jQuery获取它们
var $t_a=$(".test :hidden");
var $t_b=$(".test:hidden");

var $a_len = $t_a.length;    //value=4
var $b_len = $t_b.length;    //value=3

//值所有结果不同,是因为后代选择器与过滤性选择器不同

var $t_a=$(".test :hidden");

//以上代码获取的是class为".test"的元素内部的隐藏元素(后代选择器)

var $b_len = $t_b.length;    //value=3

//以上代码获取的是class为“.test”的隐藏元素(过滤性选择器)

以上,根据课本内容而笔记,如有疑虑,可在评论中讨论

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值