js進階 11-16 jquery如何查找元素的父親、祖先和子代、后代


js進階 11-16 jquery如何查找元素的父親、祖先和子代、后代

一、總結

一句話總結:過濾或者查找的方法里面可以帶參數進行進一步的選擇。

 

1、parent()和parents()方法的區別是什么(父親和祖先)?

parent()找父親,parents()找祖先

父親只有一個,所以是單數,祖先就有很多個了,所以是復數

  • parent() 獲得當前匹配元素集合中每個元素的父元素,由選擇器篩選(可選)。
  • parents() 獲得當前匹配元素集合中每個元素的祖先元素,由選擇器篩選(可選)。
34                    // $('span').parent('.red').css('border','solid red 2px') 35 // $('.sp').parents('li').css('border','solid red 2px')

2、parentsUntil()如何使用?

方法的參數里面可以是標簽和選擇器,和juqery其它方法里面的東西一樣

parentsUntil() 獲得當前匹配元素集合中每個元素的祖先元素,直到遇到匹配選擇器的元素為止。

36  $('.sp').parentsUntil('.inner').css('border','solid red 2px')

 

3、children()方法和contents()方法的異同(子代)?

都是找所有子元素,contents()范圍更廣,包括文本和注釋節點

39                    // $('.inner').children('.red').css('border','solid red 2px')

 

4、jquery中如何查找一個元素的后代(后代)?

find()方法

find() 獲得當前匹配元素集合中每個元素的后代,由選擇器進行篩選。

40  $('.main').find('span').css('border','solid red 2px')

 

 

二、jquery如何查找元素的父親、祖先和子代后代

1、相關知識

查找祖先元素


  • parent() 獲得當前匹配元素集合中每個元素的父元素,由選擇器篩選(可選)。
  • parents() 獲得當前匹配元素集合中每個元素的祖先元素,由選擇器篩選(可選)。
  • parentsUntil() 獲得當前匹配元素集合中每個元素的祖先元素,直到遇到匹配選擇器的元素為止。

查找后代元素


  • children() 獲得匹配元素集合中每個元素的所有子元素。
  • find() 獲得當前匹配元素集合中每個元素的后代,由選擇器進行篩選。
  • contents() 獲得匹配元素集合中每個元素的子元素,包括文本和注釋節點。

    不常用,了解即可

2、代碼

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <style>
 4 </style>
 5 <head>
 6     <meta charset="UTF-8">
 7     <title>演示文檔</title>
 8     <script type="text/javascript" src="jquery-3.1.1.min.js"></script>
 9     <style>
10         li{
11             margin-top: 25px;width: 150px;
12         }
13     </style>
14 </style>
15 </head>
16 <body>
17     <ol class="main">
18         <li>1</li>
19         <li class="li2">2
20             <ul class="inner">
21                 <li><span>1</span></li>
22                 <li class="red"><span class="sp">2</span></li>
23                 <li><span>3</span></li>
24             </ul>
25         </li>
26         <li>3</li>
27     </ol>
28     <input id="btn1" type="button" value='查找祖先'>
29     <input id="btn2" type="button" value='查找后代'>
30     <script type="text/javascript">
31         $(function(){
32            $('#btn1').click(function(){
33                    // $('.sp').parent().css('border','solid red 2px')
34                    // $('span').parent('.red').css('border','solid red 2px')
35                    // $('.sp').parents('li').css('border','solid red 2px')
36                    $('.sp').parentsUntil('.inner').css('border','solid red 2px')
37             })
38            $('#btn2').click(function(){
39                    // $('.inner').children('.red').css('border','solid red 2px')
40                    $('.main').find('span').css('border','solid red 2px')
41             })
42         })
43     </script>
44 </body>
45 </html>

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM