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

       哈喽,大家好呀~,距上一篇的jsp已经过了七天了,那我为什么jsp才第二天呢?这原因是最近好忙,疫情封校,做核酸,上网课,蓝桥杯马上又快来了,最近软考报名了,又在备战软考,很想更第二篇,这才一直拖到现在了。那么下面来看看这次的内容吧!(我是在b站的尚硅谷这位up主这里学习的,有些代码会有些相似,不是来打广告,单纯来分享一下,因为讲的真的很不错)

提问:
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

(求关注)

猜你喜欢

转载自blog.csdn.net/aasd23/article/details/123823503