1. 程式人生 > 實用技巧 >jQuery 遍歷

jQuery 遍歷

什麼是遍歷?

就是對DOM進行操作

圖示解析:

  • <div> 元素是 <ul> 的父元素,同時是其中所有內容的祖先。
  • <ul> 元素是 <li> 元素的父元素,同時是 <div> 的子元素
  • 左邊的 <li> 元素是 <span> 的父元素,<ul> 的子元素,同時是 <div> 的後代。
  • <span> 元素是 <li> 的子元素,同時是 <ul> 和 <div> 的後代。
  • 兩個 <li> 元素是同胞(擁有相同的父元素)。
  • 右邊的 <li> 元素是 <b> 的父元素,<ul> 的子元素,同時是 <div> 的後代。
  • <b> 元素是右邊的 <li> 的子元素,同時是 <ul> 和 <div> 的後代。

jQuery 遍歷 -祖先

有三個方法

  • parent(): parent() 方法返回被選元素的直接父元素。該方法只會向上一級對 DOM 樹進行遍歷。
  • parents(): parents() 方法返回被選元素的所有祖先元素,它一路向上直到文件的根元素 (<html>)。
  • parentsUntil():parentsUntil() 方法返回介於兩個給定元素之間的所有祖先元素。
 1 <!DOCTYPE html>
 2 <
html> 3 <head> 4 <meta charset="utf-8"> 5 <style> 6 .ancestors * 7 { 8 display: block; 9 border: 2px solid lightgrey; 10 color: lightgrey; 11 padding: 5px; 12 margin: 15px; 13 } 14 </style> 15 <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"
> 16 </script> 17 <script> 18 $(document).ready(function(){ 19 $("span").parent().css({"color":"red","border":"2px solid red"}); 20 }); 21 </script> 22 </head> 23 <body> 24 25 <div class="ancestors"> 26 <div style="width:500px;">div (曾祖父元素) 27 <ul>ul (祖父元素) 28 <li>li (父元素) 29 <span>span</span> 30 </li> 31 </ul> 32 </div> 33 34 <div style="width:500px;">div (祖父元素) 35 <p>p (父元素) 36 <span>span</span> 37 </p> 38 </div> 39 </div> 40 41 </body> 42 </html>

$(document).ready(function(){
  $("span").parents();
});

  

$(document).ready(function(){
  $("span").parents("ul");
});

  

$(document).ready(function(){
  $("span").parentsUntil("div");
});

  


jQuery 遍歷 -後代

  • children()children() 方法返回被選元素的所有直接子元素。
  • find()find() 方法返回被選元素的後代元素,一路向下直到最後一個後代。
$(document).ready(function(){
  $("div").children();
});

  

$(document).ready(function(){
  $("div").children("p.1");
});

  

$(document).ready(function(){
  $("div").find("span");
});

  

$(document).ready(function(){
  $("div").find("*");
});