2013-05-30 36 views
-3

的jstree看起來是這樣的:如何選擇家長的父母?

<ul> 
    <li id ="head" ><a href="#">TITLE</a> 
     <ul> 
      <li id="body"><a href="#">BODY</a> 
       <ul> 
        <li id="foot"><a href="#">FOOTER</a> 
        </li> 
       </ul> 

      </li> 
     </ul> 
    </li> 
</ul> 

這基本上是與深度3

一棵樹我只是想知道,如果它可以訪問來自id爲「foot」的ID「head

   jQuery(#foot).parent().parent(); 
or  
      jQuery(#foot).parent().parent.attr("id"); 

或類似的東西

回答

0

你總是可以使用parents方法:

$('#foot').parents('#head'); 

雖然,由於頭部有一個ID,你可以只是看它直接:$('#head')

0

你感冒寫:

$('#' + $('#foot').parent().parent().parent().parent().prop('id')).do something with head 

請確保閱讀.prop()& .attr()

0

假設這些是網頁上唯一的<ul><li>元素。

$('#foot').parents('li:last').attr('id'); 

應該給你id這是head

parents()函數列出從最近到最遠的元素的父項。所以最後的li元素將是編號爲head的元素。

Fiddle here.

2

的ID應該是在你的頁面上獨一無二的,所以你不應該有相同的ID不止一個元素,因此,你應該能夠只使用$('#head')選擇它。

在你的情況下,我想你想使用一個類'頭',它可能會出現在你的列表很多次。

實現它的最簡單方法是使用jQuery closest()。它找到了第一個匹配給定選擇器的父項。

$('#foot1').closest('.head') 

http://api.jquery.com/closest/

+0

'發現給selector'第一父匹配 - 請注意,最近'()'開始盯着當前元素,所以它並不一定是第一** **父母如果 – Ian

+0

正確的結構它會泛泛而談,就是這一點。 – Gabe

+0

@Ian,你是否建議最接近可以找到自己? – ZorleQ