1. 程式人生 > >jquery中獲取祖父、父、子結點的方法1

jquery中獲取祖父、父、子結點的方法1

在前端程式設計中,少不了使用jquery,在其中要結合DOM樹來進行資料處理,那就離不開資料對結點的操作。

故在此總結一下對結點獲取方法:

1、向上對父及祖父結點訪問

       parents()與parent()

      (1)對祖父結點的獲取

                使用parents([selecter])方法;括號內部填寫祖父結點的名字,便於確定從具體的哪一層結點開始找。

               例如:$(this).parents(".img_href"),this表示當前結點,整體的意思是:從當前結點往上找,找到名為img_href的哪一層父結點。

      (2)對父結點的獲取

                使用parent()方法,返回被選元素的直接父元素(起點當前元素的直接父元素)。

                獲取的是上一層的內容,即僅由返回一層的內容。返回值為一個物件,包含很多內容,具體內容可以自己寫一個例子來檢視。使用方法如下:

              var parent = $(".img_href").parent();     // 獲取class為img_href的父節點,返回內容為物件。
              console.log(parent);                              //列印返回的具體內容。一般用alert方法只會返回一個object的提示,用該方法可以在控制檯看到很多內容。

      (3)closest(selector)方法    (起點為本身)

              從當前元素開始,沿DOM樹向上匹配,返回被選元素的第一個祖先元素。

             遇到a巢狀a標籤的情況下,獲取最近的a標籤,會有2個,即起點為自身的a,再向上獲取一個a,然後停止。

2、向下獲取子節點

      (1)獲取子節點

               使用.children(selector)方法,單一層級

               返回被選元素的所有直接子元素,不返回文字結點,可以直接使用contents()獲取文字內容。

              **** 不含selector則返回所有的子孫元素,含selector則返回對應selector下的所有子孫結點。

     (2)find()獲取子結點

              返回被選元素的後代元素,可以是子、孫、曾孫等,直至最後一層的後代。

      【注】 children()與find()可以獲取同樣的資料,children裡面不需要引數,find()裡面給定引數。

                  具體例子如下:

                 <ul class="img_href">

                      <li></li>

                      <li></li>

                      <li></li>

                </ul>  

              呼叫方法:find

              var child = $(".img_href").find("li");
              console.log(child);

              呼叫方法:children

              var child = $(".img_href").children();
              console.log(child);