JQuery选择器


什么是JQuery选择器

 

选择器的作用是获取元素,而后为其添加CSS样式,美化其外观;JQuery选择器不仅良好的继承了CSS选择器的语法,还继承了其获取页面元素便捷高效的特点,JQuery选择器和CSS选择器的不同之处就在于,JQuery选择器获取元素后,为该元素添加的是行为,使页面交互变得更加丰富多彩。

 

JQuery选择器的优势

 

1、简洁的写法

2、完善的处理机制

 

JQuery选择器的类型

 

jQuery选择器功能强大,种类也很多,分类如下:

通过CSS选择器选取元素

1、基本选择器

2、层次选择器

3、属性选择器

 

通过过滤选择器选择元素

1、基本过滤选择器

2、可见性过滤选择器

 

 

通过CSS选择器获取元素

 

基本选择器

主要由元素标签名、classid和多个选择器组成,通过基本选择器可以实现大多数页面元素的查找,基本选择器还包括标签选择器、类选择器、id选择器、并集选择器和全局选择器。

 

基本选择器的详细说明

名称

语法构成

描述

示例

标签选择器

element

根据给定的标签名匹配元素

$("h2" )选取所有h2元素

类选择器

.class

根据给定的class匹配元素

$(" .title")选取所有classtitle的元素

ID选择器

#id

根据给定的id匹配元素

$(" #title")选取idtitle的元素

并集选择器

selector1,selector2,...,selectorN

将每一个选择器匹配的元素合并后一起返回

$("div,p,.title" )选取所有divp和拥有classtitle的元素

全局选择器

*

匹配所有元素

$("*" )选取所有元素

 

例如:

$(document).ready(function(){

    $("dt").click(function(){

        $("dd").css("display","block"); //获取<dd>标签设置显示

    });

$("h1").css("color","blue");//获取并设置<h1>字体颜色

//设置class为price元素的背景颜色和内边距

$(".price").css({"background":"#efefef","padding":"5px"});

//设置id为author的元素的字体颜色

$("#author").css("color","#083499");

//并集选择器用来合并元素集合

$(".intro,dt,dd").css("color","#ff0000");

//设置所有元素的字体加粗显示

$("*").css("font-weight","bold");

})

 

层次选择器

 

通过DOM元素之间的层次关系来获取元素,如后代元素,子元素,相邻元素和同辈元素,则使用JQuery的层次选择器。

JQuery中有四种层次选择器,分别是:后代选择器、子选择器、相邻元素选择器和同辈元素选择器。

层次选择器的详细说明

名称

语法构成

描述

示例

后代选择器

ancestor descendant

选取ancestor元素里的所有descendant(后代)元素

$("#menu span" )选取#menu下的<span>元素

子选择器

parent>child

选取parent元素下的child(子)元素

$(" #menu>span" )选取#menu的子元素<span>

相邻元素选择器

prev+next

选取紧邻prev元素之后的next元素

$(" h2+dl " )选取紧邻<h2>元素之后的同辈元素<dl>

同辈元素选择器

prev~sibings

选取prev元素之后的所有siblings元素

$(" h2~dl " )选取<h2>元素之后所有的同辈元素<dl>

例如:

$(document).ready(function(){

    $(".textRight p").css("color","red");             //后代选择器

    $(".textRight>p").css("color","red");             //子选择器

    $("h1+p").css("text-decoration","underline");    //相邻元素选择器

    $("h1~p").css("text-decoration","underline");    //同辈元素选择器

})

 

JQuery中,可以使用next( )方法代替prev+next(相邻元素选择器),使用nextAll( )方法代替prev~sibling(同辈元素选择器)

 

 

属性选择器

 

属性选择器通过HTML元素的属性来选择元素。

属性选择器的详细说明

语法构成

描述

示例

[attribute]

选取包含给定属性的元素

$(" [href]" )选取含有href属性的元素

[attribute=value]

选取等于给定属性是某个特定值的元素

$(" [href ='#']" )选取href属性值为“#”的元素

[attribute !=value]

选取不等于给定属性是某个特定值的元素

$(" [href !='#']" )选取href属性值不为“#”的元素

[attribute^=value]

选取给定属性是以某些特定值开始的元素

$(" [href^='en']" )选取href属性值以en开头的元素

[attribute$=value]

选取给定属性是以某些特定值结尾的元素

$(" [href$='.jpg']" )选取href属性值以.jpg结尾的元素

[attribute*=value]

选取给定属性是以包含某些值的元素

$(" [href* ='txt']" )选取href属性值中含有txt的元素


例如:

$(document).ready(function(){

    $("#news a[class]").css("background","#c9cbcb");  //带有class的属性

    $("#news a[class='hot']").css("background","#c9cbcb");  //带有class的属性且值为hot

    $("#news a[class!='hot']").css("background","#c9cbcb");  //class的属性且值不是hot

    $("#news a[href^='www']").css("background","#c9cbcb");  //href值以www开头

    $("#news a[href$='html']").css("background","#c9cbcb");  //href值以html结尾

    $("#news a[href*='k2']").css("background","#c9cbcb");  //href值包含k2

})

 

 

通过条件过滤选取元素

 

通过特定的过滤规则来筛选出所需的元素

过滤选择器主要通过特定的过滤规则来筛选出所需的DOM元素,过滤规则与CSS的伪类语法相同,即选择器都以一个冒号(:)开头,冒号前是需要过滤的元素。

 

主要分类

1、基本过滤选择器

2、可见性过滤选择器

3、表单对象过滤选择器

4、内容过滤选择器、子元素过滤选择器....

 

基本过滤选择器

 

基本过滤选择器的详细说明

语法

描述

示例

:first

选取第一个元素

$(" li:first" )选取所有<li>元素中的第一个<li>元素

:last

选取最后一个元素

$(" li:last" )选取所有<li>元素中的最后一个<li>元素

:not(selector)

选取去除所有与给定选择器匹配的元素

$(" li:not(.three)" )选取class不是three的元素

:even

选取索引是偶数的所有元素(index从0开始)

$(" li:even" )选取索引是偶数的所有<li>元素

:odd

选取索引是奇数的所有元素(index从0开始)

$(" li:odd" )选取索引是奇数的所有<li>元素

:eq(index)

选取索引等于index的元素(index从0开始)

$("li:eq(1)" )选取索引等于1的<li>元素

:gt(index)

选取索引大于index的元素(index从0开始)

$(" li:gt(1)" )选取索引大于1的<li>元素(注:大于1,不包括1)

:lt(index)

选取索引小于index的元素(index从0开始)

$(“li:lt(1)” )选取索引小于1的<li>元素(注:小于1,不包括1)

:header

选取所有标题元素,如h1~h6

$(":header" )选取网页中所有标题元素

:focus

选取当前获取焦点的元素

$(":focus" )选取当前获取焦点的元素

:animated

选择所有动画

$(":animated" )选取当前所有动画元素

 

例如:

$(document).ready(function(){

    //用过滤选择器给h2设置背景颜色和字体颜色

    $(".contain :header").css({"background":"#2a65ba","color":"#ffffff"});

    //li 最后一个没有边框

    $(".contain li:last").css("border","none");

 

    //改变第一个li的字体大小和颜色

    $(".contain li:first").css({"font-size":"16px","color":"#e90202"});

    //设置偶数行背景颜色

    $(".contain li:even").css("background","#f0f0f0");

    //设置奇数行背景颜色

    $(".contain li:odd").css("background","#cccccc");

 

    //设置前两个li的字体颜色(从0开始,小于2)

    $(".contain li:lt(2)").css({"color":"#708b02"});

    //设置后两个li的字体颜色(从0开始,大于3)

    $(".contain li:gt(3)").css({"color":"#b66302"});

    //改变第3个li的背景颜色(从0开始

    $(".contain li:eq(2)").css({"background":"#02acaa"});

});

 

 

可见性过滤选择器

 

JQuery中,通过元素显示状态选取元素的选择器称为可见性过滤选择器

 

可见性过滤选择器的详细说明

语法

描述

示例

:visible

选取所有可见的元素

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

:hidden

选取所有隐藏的元素

$(":hidden" ) 选取所有隐藏的元素

 

例如:

x

$(document).ready(function(){

    //用过滤选择器给h2设置背景颜色和字体颜色

    $(".contain :header").css({"background":"#2a65ba","color":"#ffffff"});

    //li 最后一个没有边框

    $(".contain li:last").css("border","none");

 

    //改变第一个li的字体大小和颜色

    $(".contain li:first").css({"font-size":"16px","color":"#e90202"});

    //设置偶数行背景颜色

    $(".contain li:even").css("background","#f0f0f0");

    //设置奇数行背景颜色

    $(".contain li:odd").css("background","#cccccc");

 

    //设置前两个li的字体颜色(从0开始,小于2)

    $(".contain li:lt(2)").css({"color":"#708b02"});

    //设置后两个li的字体颜色(从0开始,大于3)

    $(".contain li:gt(3)").css({"color":"#b66302"});

    //改变第3个li的背景颜色(从0开始

    $(".contain li:eq(2)").css({"background":"#02acaa"});

});

 

注:选择器:hidden获取元素不仅包括样式属性display为“none”的元素,还包括文本隐藏域(<input type=”hidden”>)和visibility:hidden之类的元素

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值