学习 JQuery 的第二天(选择器篇)

提问:
JQuery 有几种选择器?
:基本选择器、层级选择器、过滤选择器。(过滤选择器可再分为:基本过滤选择器、内容过滤选择器、属性过滤选择器、表单过滤选择器、表单对象属性过滤选择器)

第一节 基本选择器

基本选择器有:
#ID 选择器:(根据 id 查找标签对象 )、.class 选择器:(根据 class 查找标签对象)、 element 选择器:(根据标签名查找标签对象)、 * 选择器:(表示任意的,所有的元素 )、selector1,selector2 组合选择器:(合并选择器 1,选择器 2 的结果并返回)

#ID 选择器(可以选择id名为啥啥啥的对象)

jquery代码

        $(function () {
            $('#btn1').click(function () {
                $("#one").css("background-color","#ff5");
            })
        })

css代码

    <style type="text/css">
        div, span, p {
            width: 140px;
            height: 140px;
            margin: 5px;
            background: #aaa;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
        }

    </style>

html代码

    <div id="one">我是id为one的div</div>

    <div id="two">我是id为two的div</div>

    <div class="class-one">我是classclass one的div</div>
    <div class="class-two">我是classclass two的div</div>

    <div class="class-one">我是classclass one的div</div>
    <div class="class-two">我是classclass two的div</div>

    <span>我是span</span>
    
    <input type="button" value="选择 id 为 one 的元素" id="btn1" />
    <input type="button" value="选择 class 为 class-one 的所有元素" id="btn2" />
    <input type="button" value="选择 元素名是 div 的所有元素" id="btn3" />
    <input type="button" value="选择 所有的元素" id="btn4" />
    <input type="button" value="选择 span 元素" id="btn5" />

在这里插入图片描述

这里我们点击了,选择id为one的元素,得出效果。同样的道理,我们选择类选择器、组合选择器等等,都会选择div相对的属性效果。效果图就不一一显示了,直接看代码。

选择 class 为 class-one 的所有元素

$(function () {
            $('#btn2').click(function () {
                $(".class-one").css("background-color","#ff5");
            })
        })

选择 元素名是 div 的所有元素

        $(function () {
            $('#btn3').click(function () {
                $("div").css("background-color","#ff5");
            })
        })

选择 所有的元素

        $(function () {
            $('#btn4').click(function () {
                $("*").css("background-color","#ff5");
            })
        })

选择 span 元素

        $(function () {
            $('#btn5').click(function () {
                $("span").css("background-color","#ff5");
            })
        })

如果我们要选div里面的div呢?我们需要$的时候加上他相对应的属性就可以了。eg:

在这里插入图片描述

    <div class="class-two">我是classclass two的div
        <div class="mini">我在里面</div>
    </div>
        $(function () {
            $('#btn6').click(function () {
                $('.mini').css("background-color","#ff5");
            })
        })

第二节 层级选择器

ancestor descendant 后代选择器 :(在给定的祖先元素下匹配所有的后代元素)
eg:body mini 意思是选择了 body 里面的所有叫 min i的元素。

parent > child 子元素选择器:(在给定的父元素下匹配所有的子元素)
eg:div > btn 意思是选择了 div 里面的叫 btn 的元素。

prev + next 相邻元素选择器:(匹配所有紧接在 prev 元素后的 next 元素 )
eg:div + span 意思是选择了 div 后面的叫 span 的元素。

prev ~ sibings 之后的兄弟元素选择器:(匹配 prev 元素之后的所有 siblings 元素)
eg:div ~> btn 意思是选择了 div 之后所有的的叫 btn 的元素。

直接看代码

html里面

<div class="one" id="one">
    id 为 one,class 为 one 的div
    <div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test">
    id为two,class为one,title为test的div
    <div class="mini" title="other">class为mini,title为other</div>
    <div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
    <div class="mini">class为mini</div>
</div>
<div style="display:none;" class="none">style的display为"none"的div</div>
<div class="hide">class"hide"的div</div>
<div>
    包含input的type为"hidden"的div<input type="hidden" size="8">
</div>
<span id="span">span元素</span>

<input type="button" value="选择 body 内的所有 div 元素" id="btn1" />
<input type="button" value="在 body 内, 选择div子元素" id="btn2" />
<input type="button" value="选择 id 为 one 的下一个 div 元素" id="btn3" />
<input type="button" value="选择 id 为 two 的元素后面的所有 div 兄弟元素" id="btn4" />

css和上面的差不多就不在写了

ancestor descendant 后代选择器 :(在给定的祖先元素下匹配所有的后代元素)

                    $("#btn1").click(function () {
                        $("body div").css("background-color","#ffa")
                    })

在这里插入图片描述

parent > child 子元素选择器:(在给定的父元素下匹配所有的子元素)

                    $("#btn2").click(function () {
                        $("body > div").css("background-color","#ffa")
                    })

在这里插入图片描述

prev + next 相邻元素选择器:(匹配所有紧接在 prev 元素后的 next 元素 )

                    $("#btn3").click(function () {
                        $("#one+div").css("background-color","#ffa")
                    })

在这里插入图片描述

prev ~ sibings 之后的兄弟元素选择器:(匹配 prev 元素之后的所有 siblings 元素)

                    $("#btn4").click(function () {
                        $("#two~div").css("background-color","#ffa")
                    })

在这里插入图片描述

第三节 过滤选择器

3.1 基本过滤器

:first 获取第一个元素
:last 获取最后个元素
:not(selector) 去除所有与给定选择器匹配的元素
:even 匹配所有索引值为偶数的元素,从 0 开始计数
:odd 匹配所有索引值为奇数的元素,从 0 开始计数
:eq(index) 匹配一个给定索引值的元素
:gt(index) 匹配所有大于给定索引值的元素
:lt(index) 匹配所有小于给定索引值的元素
:header 匹配如 h1, h2, h3 之类的标题元素
:animated 匹配所有正在执行动画效果的元素

3.2 内容过滤器

:contains(text) 匹配包含给定文本的元素
:empty 匹配所有不包含子元素或者文本的空元素
:parent 匹配含有子元素或者文本的元素
:has(selector) 匹配含有选择器所匹配的元素的元素

3.3 属性过滤器

[attribute] 匹配包含给定属性的元素。
[attribute=value] 匹配给定的属性是某个特定值的元素
[attribute!=value] 匹配所有不含有指定的属性,或者属性不等于特定值的元素。 [attribute^=value] 匹配给定的属性是以某些值开始的元素
[attribute$=value] 匹配给定的属性是以某些值结尾的元素 [attribute*=value] 匹配给定的属性是以包含某些值的元素
[attrSel1][attrSel2][attrSelN] 复合属性选择器,需要同时满足多个条件时使用。

3.4 表单过滤器

:input 匹配所有 input, textarea, select 和 button 元素
:text 匹配所有 文本输入框
:password 匹配所有的密码输入框
:radio 匹配所有的单选框
:checkbox 匹配所有的复选框
:submit 匹配所有提交按钮
:image 匹配所有 img 标签
:reset 匹配所有重置按钮
:button 匹配所有 input type=button 按钮
:file 匹配所有 input type=file 文件上传
:hidden 匹配所有不可见元素 display:none 或 input type=hidden

3.5 表单对象属性过滤器

:enabled 匹配所有可用元素
:disabled 匹配所有不可用元素
:checked 匹配所有选中的单选,复选,和下拉列表中选中的 option 标签对象
:selected 匹配所有选中的 option

详细见jQueryAPI-1.41.chm,连接我已近放到下面了,需要的话自己拿。

在这里插入图片描述

在这里插入图片描述

链接:https://pan.baidu.com/s/1ivAcUQ06vJg2EJVItT9dkQ 
提取码:c6nx

(求关注)

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 30
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿追

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值