jQuery选择器

本文详细介绍了jQuery选择器的使用方法,包括基本选择器、层次选择器、过滤选择器及表单选择器等,通过示例代码帮助读者更好地理解和掌握。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jQuery选择器

jQuery选择器是什么?

jQuery选择器继承了CSS与Path语言的部分语法,允许通过标签名、属性名或内容对DOM元素进行快速、准确的选择,而不必担心浏览器的兼容性,通过jQuery选择器对页面元素的精准定位,才能完成元素属性和行为的处理。

jQuery选择器的优势
1.代码更简单
2.支持CSS1到CSS3选择器
3.完善的处理机制
jQuery选择器分类

jQuery选择器详细介绍:

1.     基本选择器(jQuery对象获取)

基本选择器是jQuery中使用最多的选择器,它由元素Id、class、元素名、多个元素符组成。

基本选择器

选择器

功能

#ID

通过ID名获取jQuery对象

.class

通过class名获取jQuery对象

element

通过标签名获取jQuery对象

*

获取所有jQuery对象

selector1,selector2

混合写法(中间用“,”连接)

实例:

$("button").css("border","solid3px yellow");//使用标签名进行获取对象

           $(".txt").css("border","solid 3pxyellow");//使用class名进行获取对象

           $("#test").css("border","solid 3pxyellow");//使用id名进行获取对象

            $("*").css("border","solid3px yellow");//表示获取所有对象

            $(".txt,#test").css("border","solid3px yellow");//表示获取所有对象

2.     层次选择器

层次选择器通过DOM元素间的层次关系来获取元素,主要的层次关系包括父子、后代、相邻、兄弟关系。

层次选择器

选择器

功能

ancestor descendant(空格)

根据祖先元素获取所有的后代元素

parent>child(>)

根据父元素获取所有的子元素

prev+next(+)

获取所有紧接在prev元素后的相邻元素

prev~siblings(~)

获取prev元素之后的所有兄弟元素

3.     过滤选择器

过滤选择器是根据某类过滤规则进行元素的匹配,书写时都以(:)开头。

(1)    简单过滤选择器

简单过滤选择器是过滤选择器中使用最广泛的一种。

简单过滤选择器

选择器

功能

first()/:first

获取第一个元素

last()/:last

获取最后一个元素

:not()

获取不是()内的所有元素

:even

获取所有索引值为偶数的元素[索引从零开始]

:odd

获取所有索引值为奇数的元素[索引从零开始]

:eq()

获取指定索引值的元素[索引从零开始]

:gt()

获取所有大于给定索引值的元素[索引从零开始]

:lt()

获取所有小于给定索引值的元素[索引从零开始]

:header

获取所有标题类型的元素,如h1,h2…

:animated

获取正在执行动画效果的元素

实例:

<!DOCTYPEhtml>

<html>

<headlang="en">

    <meta charset="UTF-8">

    <title>过滤选择器---简单过滤选择器</title>

    <style>

        .block{

            width: 400px;

            border: solid 1px black;

            border-collapse: collapse;

            margin: 0 auto;

        }

        td{

            height: 100px;

            border: solid 1px black;

        }

    </style>

    <scriptsrc="jquery-3.0.0.js"></script>

    <script>

        $(function(){

           $("td:first").css("backgroundColor","lightpink");

           $("td:last").css("backgroundColor","skyblue");

           $("td:not(.smallone)").css("backgroundColor","yellow");//:not()获取不是括号内元素的东西

           $("td:even").css("border","solid 2pxorange");//:even获取所有索引值为偶数的元素,索引从零开始

           $("td:odd").css("border","solid 2pxpink");//:odd获取所有索引值为奇数的元素,索引从零开始

           $("td:eq(2)").css("backgroundColor","blue");//:eq()获取的是指定索引值的元素,索引从零开始

           $("td:gt(2)").css("backgroundColor","white");//:gt()获取的是所有大于索引的元素,索引从零开始

           $("td:lt(2)").css("backgroundColor","black");//:lt()获取的是所有小于索引的元素,索引从零开始

           $(":header").css("color","lightgreen");//:header()获取的是所有的标题类型的元素

        })

    </script>

</head>

<body>

<tableclass="block">

    <tr>

        <td></td>

        <td></td>

        <tdclass="smallone"></td>

        <td></td>

    </tr>

    <tr>

        <td></td>

        <td></td>

        <td></td>

        <td></td>

    </tr>

    <tr>

        <td></td>

        <td></td>

        <td></td>

        <td></td>

    </tr>

    <tr>

        <td></td>

        <td></td>

        <td></td>

        <td></td>

    </tr>

</table>

<h1>你好</h1>

<h3>欢迎来到</h3>

<h6>这个世界</h6>

<span>helloworld</span>

</body>

</html>

(2)    内容过滤选择器

内容过滤选择器是根据元素中的文字内容或所包含的子元素特征获取元素,其文字内容可以模糊或绝对匹配进行元素定位。

内容过滤选择器

选择器

功能

:contains()

获取包含给定文本的元素(相当于模糊查询,即查找关键字)

:empty

获取所有不包含子元素或文本的空元素(什么都没有)

:has()

获取含有选择器所匹配的元素的元素

:parent

获取含有子元素或文本的元素(一定要有子元素或文本)

实例:

<!DOCTYPEhtml>

<html>

<headlang="en">

    <meta charset="UTF-8">

    <title>内容过滤选择器</title>

    <scriptsrc="jquery-3.0.0.js"></script>

    <script>

        $(function () {

            $("span:contains('一')").css("color","red");//:contains('')获取的是包含给定文本的元素

           alert($(".block:empty"));//:empty指什么都没有,有回车或者换行都不算空

           $("div:has('p')").css("color","blue");//:has()获取含有选择器所匹配的元素的元素

           $("span:parent").css({"backgroundColor":"pink"});//:parent获取含有子元素或者文本的元素

        })

    </script>

</head>

<body>

<divclass="block">

    <p>你好 世界</p>

    <span>这是一个span</span>

    <span>这是第二个span</span>

    <span>这还是一个span</span>

    <div></div>

</div>

</body>

</html>

(3)    可见性过滤选择器

可见性过滤选择器根据元素是否可见的特征来获取元素。

可见性过滤选择器

选择器

功能

:hidden

获取所有不可见元素,或type为hidden的元素

:visible

获取所有可见元素

实例:

<!DOCTYPEhtml>

<html>

<headlang="en">

    <meta charset="UTF-8">

    <title>可见性过滤选择器</title>

    <style>

        .block{

            width: 100px;

            height: 100px;

            margin:  0 auto;

            background-color: #35c7ff;

        }

    </style>

    <scriptsrc="jquery-3.0.0.js"></script>

    <script>

        $(function(){

            $(":visible").hide();//:visible获取所有可见元素 这句话的意思是让所有显示的隐藏起来

           $(":hidden").show();//:hidden 获取所有不可见元素 这句话的意思是让所有隐藏的显示出来

        })

    </script>

</head>

<body>

<divclass="block"></div>

<divclass="block2"></div>

</body>

</html>

(4)    属性过滤选择器

属性过滤选择器根据元素的某个属性获取元素。

属性过滤选择器

选择器

功能

[attribute]

获取包含给定属性的元素

[attribute=value]

获取等于给定的属性value

[attribute!=value]

获取不等于给定的属性value

[attribute^=value]

获取开始的是给定的属性value

[attribute$=value]

获取结束的是给定的属性value

[attribute*=value]

获取包含给定的属性value

[selector1] [selector2] [selectorN]

复合属性选择器,同时满足多个属性

实例:

<!DOCTYPEhtml>

<html>

<headlang="en">

    <meta charset="UTF-8">

    <title>属性过滤选择器</title>

    <scriptsrc="jquery-3.0.0.js"></script>

    <script>

        $(function(){

           $("input[type]").css("backgroundColor","lightpink");//[type]获取包含所有给定属性的元素

           $("input[type=text]").css("backgroundColor","skyblue");//[type=text]获取等于给定的属性value

           $("input[type!=text]").css("border","solid 1pxred");//[type!=text] 获取不等于给定的属性value

           $("input[type^='s']").css("border","solid 1pxblack");//[type^='s'] 获取type是以s开头的value

           $("input[type$='t']").css("backgroundColor","yellow");//[type$='t']获取type是以t结尾的value

            $("input[type*=button]").css("backgroundColor","green");//[type*=button]获取包含type是button的

           $("input[type][class][value]").css("border","solid2px lightgreen");//[type][class][value] 同时满足这三个[]的

        })

    </script>

</head>

<body>

<inputtype="text"/>

<inputtype="text" class="txt"/>

<inputtype="button" class="btn" value="请点击"/>

<inputtype="submit"/>

<inputtype="reset"/>

</body>

</html>

(5)    子元素过滤选择器

子元素过滤选择器获取所有父元素中指定的某个元素。

子元素过滤选择器

选择器

功能

:nth-child

获取每个父元素下的特定位置元素(索引号从1开始)

:first-child

获取每个父元素下的第一个子元素

:last-child

获取每个父元素下的最后一个子元素

:only-child

获取每个父元素下的仅有一个子元素(要保证它的父元素里只有它这一个子元素,文本不算子元素)

实例:

<!DOCTYPEhtml>

<html>

<headlang="en">

    <meta charset="UTF-8">

    <title>子元素过滤选择器</title>

    <scriptsrc="jquery-3.0.0.js"></script>

    <script>

        $(function(){

           $("span:nth-child(2)").css("color","yellow");//:nth-child()获取每个父元素下面特定位置元素 索引号从一开始

            $("span:first-child").css("color","green");//:first-child  获取每个父元素下面的第一个子元素

           $("span:last-child").css("color","pink");//:last-child  获取每个父元素下面的最后一个子元素

           $("span:only-child").css("color","blue");//span:only-child  获取仅有唯一一个子元素的父元素(指span是only-child)

        });

    </script>

</head>

<body>

<div>

    <span>你好</span>

    <span>再见</span>

    <span>欢迎</span>

    <span>世界</span>

</div>

<p><span>hello</span></p>

<p><span>hello</span><span>world</span></p>

</body>

</html>

(6)    表单对象属性过滤选择器

表单对象属性过滤选择器主要是对所选择的表单元素进行过滤,如选择被选中的下拉框,多选框等元素。

表单对象属性过滤选择器

选择器

功能

:enabled

选取所有可用元素

:disabled

选取所有不可用元素

:checked

选取所有被选中的元素(单选框、复选框)

:selected

选取所有被选中的选项元素(下拉框)

实例:

<!DOCTYPEhtml>

<html>

<headlang="en">

    <meta charset="UTF-8">

    <title>表单对象属性过滤选择器</title>

    <scriptsrc="jquery-3.0.0.js"></script>

    <script>

        $(function(){

           $(".txt:disabled").css("backgroundColor","yellow");//:disabled  获取所有不可用元素

           $(".txt1:enabled").css("backgroundColor","pink");//:enabled  获取所有可用元素

           console.log($("option:selected").length);//:selected  获取所有被选中选项元素(下拉框)

            alert($("input[type=checkbox]:checked").length);//:checked  获取所有被选中的元素(单选框 复选框)

        })

    </script>

</head>

<body>

<inputtype="text" class="txt" disabled="disabled"/>

<inputtype="text" class="txt1"/>

<inputtype="checkbox" checked="checked"/>闯关

<inputtype="checkbox"/>时间段

<inputtype="checkbox" checked="checked"/>会计师法

<inputtype="checkbox"/>打瞌睡

<selectname="select1" id="sel">

    <option>跳舞</option>

    <optionselected="selected">唱歌</option>

    <optionselected="selected">游戏</option>

    <option>睡觉</option>

</select>

</body>

</html>

4.     表单选择器

表单选择器专为表单设计,通过它可用在页面中快速定位某表单对象。

表单选择器

选择器

功能

:input

获取所有input、textarea、select

:text

获取所有单行文本框

:password

获取所有密码框

:radio

获取所有单选按钮

:checkbox

获取所有复选框

:submit

获取所有提交按钮

:image

获取所有图像域

:reset

获取所有重置按钮

:button

获取所有按钮

:file

获取所有文件域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值