在jquery中有哪些层次选择器

青灯夜游
发布: 2022-03-16 13:15:55
原创
4532人浏览过
jquery中的层次选择器有:1、后代选择器,语法“$("M N")”;2、子代选择器,语法“$("M>N")”;3、兄弟选择器,语法“$("M~N")”;4、相邻选择器,语法“$("M+N")”。

在jquery中有哪些层次选择器

本教程操作环境: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 点:

  • $("M N") 可以使用 $(M).find(N) 代替;

  • $("M>N") 可以使用 $(M).children(N) 代替;

  • $("M~N") 可以使用 $(M).nextAll(N) 代替;

  • $("M+N") 可以使用 $(M).next(N) 代替。

对于 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 元素。因此,不管是子元素,还是其他后代元素,全部都会被选中。

子代选择器

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

  • 后代选择器,选取的是元素内部所有的元素(包括子元素、孙元素等);

  • 子代选择器,选取的是元素内部的某一种子元素(只限子元素)。

语法:

$(&quot;M>N&quot;)
登录后复制

“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

幻舟AI
幻舟AI

专为短片创作者打造的AI创作平台

幻舟AI 279
查看详情 幻舟AI

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

兄弟选择器

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

语法:

$(&quot;M~N&quot;)
登录后复制

“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。记住,兄弟选择器只选取后面所有的兄弟元素,不包括前面的所有兄弟元素。

相邻选择器

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

  • 兄弟选择器选取元素后面“所有”的某一类元素;

  • 相邻选择器选取元素后面“相邻”的某一个元素。

语法:

$(&quot;M+N&quot;)
登录后复制

“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中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号