上期我们讲了遍历的祖先和后代的问题,现在我们讲讲遍历同胞
同胞拥有相同的父元素。 通过 jQuery,您能够在 DOM 树中遍历元素的同胞元素。
jQuery siblings() 方法
siblings() 方法返回被选元素的所有同胞元素。
下面的例子返回所有同胞元素:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <style>
6 .siblings *
7 {
8 display: block;
9 border: 2px solid lightgrey;
10 color: lightgrey;
11 padding: 5px;
12 margin: 15px;
13 }
14 </style>
15 <script src="//libs.baidu.com/jquery/1.10.2/jquery.min.js">
16 </script>
17 <script>
18 $(document).ready(function(){
19 $("h2").siblings().css({"color":"red","border":"2px solid red"});
20 });
21 </script>
22 </head>
23 <body class="siblings">
24
25 <div>div (父元素)
26 <p>p</p>
27 <span>span</span>
28 <h2>h2</h2>
29 <h3>h3</h3>
30 <p>p</p>
31 </div>
32
33 </body>
34 </html>
jQuery next() 方法
next() 方法返回被选元素的下一个同胞元素。
该方法只返回一个元素。
下面的例子返回h2的下一个同胞元素:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <style>
6 .siblings *
7 {
8 display: block;
9 border: 2px solid lightgrey;
10 color: lightgrey;
11 padding: 5px;
12 margin: 15px;
13 }
14 </style>
15 <script src="//libs.baidu.com/jquery/1.10.2/jquery.min.js">
16 </script>
17 <script>
18 $(document).ready(function(){
19 $("h2").next().css({"color":"red","border":"2px solid red"});
20 });
21 </script>
22 </head>
23 <body class="siblings">
24
25 <div>div (父元素)
26 <p>p</p>
27 <span>span</span>
28 <h2>h2</h2>
29 <h3>h3</h3>
30 <p>p</p>
31 </div>
32
33 </body>
34 </html>
jQuery nextAll() 方法
nextAll() 方法返回被选元素的所有跟随的同胞元素。
下面的例子返回h2的所有跟随的同胞元素:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <style>
6 .siblings *
7 {
8 display: block;
9 border: 2px solid lightgrey;
10 color: lightgrey;
11 padding: 5px;
12 margin: 15px;
13 }
14 </style>
15 <script src="//libs.baidu.com/jquery/1.10.2/jquery.min.js">
16 </script>
17 <script>
18 $(document).ready(function(){
19 $("h2").nextAll().css({"color":"red","border":"2px solid red"});
20 });
21 </script>
22 </head>
23 <body class="siblings">
24
25 <div>div (父元素)
26 <p>p</p>
27 <span>span</span>
28 <h2>h2</h2>
29 <h3>h3</h3>
30 <p>p</p>
31 </div>
32
33 </body>
34 </html>
jQuery nextUntil() 方法
nextUntil() 方法返回介于两个给定参数之间的所有跟随的同胞元素。
下面的例子返回介于h2与h6元素之间的所有同胞元素:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <style>
6 .siblings *
7 {
8 display: block;
9 border: 2px solid lightgrey;
10 color: lightgrey;
11 padding: 5px;
12 margin: 15px;
13 }
14 </style>
15 <script src="//libs.baidu.com/jquery/1.10.2/jquery.min.js">
16 </script>
17 <script>
18 $(document).ready(function(){
19 $("h2").nextUntil("h6").css({"color":"red","border":"2px solid red"});
20 });
21 </script>
22 </head>
23 <body class="siblings">
24
25 <div>div (父元素)
26 <p>p</p>
27 <span>span</span>
28 <h2>h2</h2>
29 <h3>h3</h3>
30 <h4>h4</h4>
31 <h5>h5</h5>
32 <h6>h6</h6>
33 <p>p</p>
34 </div>
35
36 </body>
37 </html>
prev(), prevAll() 以及 prevUntil() 方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同胞元素(在 DOM 树中沿着同胞元素向后遍历,而不是向前)。
如果您觉得本文的内容对您的学习有所帮助:
关键字:
html