• 技术文章 >web前端 >前端问答

    在jquery中有哪些层次选择器

    青灯夜游青灯夜游2022-03-16 13:15:55原创479

    jquery中的层次选择器有:1、后代选择器,语法“$("M N")”;2、子代选择器,语法“$("M>N")”;3、兄弟选择器,语法“$("M~N")”;4、相邻选择器,语法“$("M+N")”。

    本教程操作环境:windows7系统、jquery1.10.2版本、Dell G3电脑。

    层次选择器,就是通过元素之间的层次关系来选择元素的一种基础选择器。层次选择器在实际开发中也是相当重要的。常见的层次关系包括:父子、后代、兄弟、相邻。

    在 jQuery 中,层次选择器共有 4 种,如下表 所示。

    jQuery 层次选择器
    选择器说明
    M N后代选择器,选择 M 元素内部的后代N元素(所有 N 元素)
    M>N子代选择器,选择 M 元素内部的子代N元素(所有第 1 级 N 元素)
    M~N兄弟选择器,选择 M 元素后面所有的同级 N 元素
    M + N相邻选择器,选择 M 元素相邻的(下一个)元素(M、N 是同级元素)

    此外,我们还需要注意以下 4 点:

    对于 find( )、children( )、nextAll( )、next( ) 这 4 种方法,我们之后会详细介绍,这里简单了解一下即可。

    后代选择器

    后代选择器,用于选择元素内部的所有某一种元素,包括子元素和其他后代元素。

    语法:

    $("M N")

    “M元素”和“N元素”之间用空格隔开,表示选中 M 元素内部的后代 N 元素(即所有 N 元素)。

    举例:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <script src="js/jquery-1.10.2.min.js"></script>
        <script>
            $(function () {
                $("#first p").css("color","red");
            })
        </script>
    </head>
    <body>
        <div id="first">
            <p>子元素</p>
            <p>子元素</p>
            <div id="second">
                <p>子元素的子元素</p>
                <p>子元素的子元素</p>
            </div>
            <p>子元素</p>
            <p>子元素</p>
        </div>
    </body>
    </html>

    程序运行效果如图 1 所示:

    1.png

    $("#first p") 表示选取 id="first" 的元素内部的所有 p 元素。因此,不管是子元素,还是其他后代元素,全部都会被选中。

    子代选择器

    子代选择器,用于选中元素内部的某一种子元素。子代选择器与后代选择器虽然很相似,但是也有着明显的区别。

    语法:

    $("M>N")

    “M 元素”和“N 元素”之间使用>选择符,表示选中 M 元素内部的子元素 N。

    举例:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <script src="js/jquery-1.10.2.min.js"></script>
        <script>
            $(function () {
                $("#first>p").css("color","red");
            })
        </script>
    </head>
    <body>
        <div id="first">
            <p>子元素</p>
            <p>子元素</p>
            <div id="second">
                <p>子元素的子元素</p>
                <p>子元素的子元素</p>
            </div>
            <p>子元素</p>
            <p>子元素</p>
        </div>
    </body>
    </html>

    预览效果如图 2 所示:

    2.png

    $("#first>p") 表示选中 id="first" 的元素下的子元素 p。我们将这个例子与后代选择器的例子对比一下,就可以很清楚地知道:子代选择器只选取子元素,不包括其他后代元素。

    兄弟选择器

    兄弟选择器,用于选中元素后面(不包括前面)的某一类兄弟元素。

    语法:

    $("M~N")

    “M 元素”和“N 元素”之间使用~选择符,表示选中 M 元素后面所有的兄弟元素 N。

    举例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<script src="js/jquery-1.10.2.min.js"></script>
    		<script>
    			$(function() {
    				$("#second~p").css("color", "red");
    			})
    		</script>
    	</head>
    	<body>
    		<div id="first">
    			<p>子元素</p>
    			<p>子元素</p>
    			<div id="second">
    				<p>子元素的子元素</p>
    				<p>子元素的子元素</p>
    			</div>
    			<p>子元素</p>
    			<p>子元素</p>
    		</div>
    	</body>
    </html>

    程序执行结果如图 3 所示:

    3.png

    $("#second~p") 表示选取 id="second" 的元素后面所有的兄弟元素 p。记住,兄弟选择器只选取后面所有的兄弟元素,不包括前面的所有兄弟元素。

    相邻选择器

    相邻选择器,用于选中元素后面(不包括前面)的某一个“相邻”的兄弟元素。相邻选择器与兄弟选择器也非常相似,不过也有明显的区别。

    语法:

    $("M+N")

    “M 元素”和“N 元素”之间使用+选择符,表示选中 M 元素后面的相邻的兄弟元素 N。

    举例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<script src="js/jquery-1.10.2.min.js"></script>
    		<script>
    			$(function() {
    				$("#second+p").css("color", "red");
    			})
    		</script>
    	</head>
    	<body>
    		<div id="first">
    			<p>子元素</p>
    			<p>子元素</p>
    			<div id="second">
    				<p>子元素的子元素</p>
    				<p>子元素的子元素</p>
    			</div>
    			<p>子元素</p>
    			<p>子元素</p>
    		</div>
    	</body>
    </html>

    程序运行效果如图 4 所示:

    4.png

    $("#second+p") 表示选取 id="second" 的元素后面的“相邻”的兄弟元素 p。

    举例:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<script src="js/jquery-1.10.2.min.js"></script>
    		<script>
    			$(function() {
    				$("li+li").css("border-top", "2px solid red");
    			})
    		</script>
    	</head>
    	<body>
    		<ul>
    			<li>第1个元素</li>
    			<li>第2个元素</li>
    			<li>第3个元素</li>
    			<li>第4个元素</li>
    			<li>第5个元素</li>
    		</ul>
    	</body>
    </html>

    程序执行效果如图 5 所示。

    5.png

    $("li+li") 使用的是相邻选择器,表示“选择 li 元素后面相邻的(下一个)li 元素”。由于最后一个 li 元素没有下一个 li 元素,所以对于最后一个 li 元素,它是没有下一个 li 元素可以选取的。$("li+li").css("border-top","2px solid red") 可以实现在两两li元素之间添加一个边框的效果。

    【推荐学习:jQuery视频教程web前端开发视频

    以上就是在jquery中有哪些层次选择器的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:jquery 层次选择器
    上一篇:html5中output的用法是什么 下一篇:jquery有几种类选择器
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• jquery怎么修改元素的height(高度)• jquery怎么修改元素宽度(width)• jquery怎么排除第一个元素• jquery获取第几个li的方法是什么• 聊聊jQuery中的Ajax,详解其主要方法
    1/1

    PHP中文网