jQuery遍历(2)


  上期我们讲了遍历的祖先和后代的问题,现在我们讲讲遍历同胞

  同胞拥有相同的父元素。 通过 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 树中沿着同胞元素向后遍历,而不是向前)。


作者:码农下的天空,发布于:2019/08/13
原文:https://www.cnblogs.com/songtianfa/p/11328415.html