1. 程式人生 > >jQuery遍歷

jQuery遍歷

rst bsp sch 例子 htm 在家 下一個 children 當前

1.

下圖展示了一個家族樹。通過 jQuery 遍歷,您能夠從被選(當前的)元素開始,輕松地在家族樹中向上移動(祖先),向下移動(子孫),水平移動(同胞)。這種移動被稱為對 DOM 進行遍歷。

圖示解釋:

技術分享

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

2.祖先遍歷:祖先是父、祖父或曾祖父等等。

  用於向上遍歷 DOM 樹:

  • parent():返回被選元素(即當前元素)的直接父元素
    •   返回每個 <span> 元素的的直接父元素
    • $(document).ready(function(){
        $("span").parent();
      });
  • parents():返回被選元素的所有祖先元素,它一路向上直到文檔的根元素 (<html>)。
    •   下面的例子返回所有 <span> 元素的所有祖先,並且它是 <ul> 元素:
    • $(document).ready(function(){
        $("span").parents("ul");
      });
  • parentsUntil():返回介於兩個給定元素之間的所有祖先元素。
    •   下面的例子返回介於 <span> 與 <div> 元素之間的所有祖先元素:
    • $(document).ready(function(){
        $("span").parentsUntil("div");
      });

3.後代遍歷:後代是子、孫、曾孫等等

  向下遍歷 DOM 樹的 jQuery 方法:

  • children():返回被選元素的所有直接子元素
    •   也可以使用可選參數來過濾對子元素的搜索。下面的例子返回類名為 "1" 的所有 <p> 元素,並且它們是 <div> 的直接子元素
    • $(document).ready(function(){
        $("div").children("p.1");
      });
  • find():返回被選元素的後代元素,一路向下直到最後一個後代
    • 下面的例子返回屬於 <div> 後代的所有 <span> 元素: $("div").find("span");
    • 下面的例子返回 <div> 的所有後代: $("div").find("*");

4.同胞遍歷:同胞擁有相同的父元素

  有許多有用的方法讓我們在 DOM 樹進行水平遍歷: 其中以下方法都可以使用可選參數(即在括號中傳入參數)來過濾對同胞元素的搜索。

  • siblings():返回被選元素的所有同胞元素
  • next():返回被選元素的下一個同胞元素。
  • nextAll():返回被選元素的所有跟隨的同胞元素
  • nextUntil():返回介於兩個給定參數之間的所有跟隨的同胞元素
  • prev():prev(), prevAll() 以及 prevUntil() 方法的工作方式與上面的方法類似,只不過方向相反而已
  • prevAll()
  • prevUntil()

5.遍歷過濾:

  三個最基本的過濾方法是:first(), last() 和 eq(),它們允許您基於其在一組元素中的位置來選擇一個特定的元素

  其他過濾方法,比如 filter() 和 not() 允許您選取匹配或不匹配某項指定標準的元素。

jQuery遍歷