2013-07-07 47 views
0

我有一個HTML結構lik3找到第一個父元素而不是根父元素之前

<div> 
    <ul> 
    <li> 
     <div>Other elements</div> 
     <div> 
      <ul> 
      <li class='base-parent parent'> 
       <div>Base Parent DEFINED</div> 
       <ul> 
       <li class="parent parent-level-1"> 
        <div class="child">Inner Parent Level 1</div> 
        <ul> 
        <li class="parent parent-level-2"> 
         <div class="child">Inner Parent Level 2</div> 
         <ul> 
         <li class="parent parent-level-3"> 
          <div class="child">Innermost child 1</div> 
         </li> 
         <li class="parent parent-level-3"> 
          <div class="child">Innermost child 2</div> 
         </li> 
         </ul> 
        </li> 
        </ul> 
       </li> 
       </ul> 
      </li> 
      </ul> 
     </div> 
     </li> 
    </ul> 
    </div> 

雖然我能找到div.child的最接近父李,我需要知道我怎麼能找到第一在li.base-parent之下的div.child類的父LI元素,排除了base-parent。

+1

您可以添加HTML註釋,或一些文本,在該代碼明確顯示你需要找到哪些元素,並從那裏你遍歷開始? –

+0

你到現在爲止嘗試過什麼?我們需要看到代碼來找出你想要實現什麼 – manraj82

+0

http://api.jquery.com/parentsUntil/檢查這是否解決了你的問題 – manraj82

回答

1

你可以很容易地使用parents()

$('.child').parents('li.parent:not(.base-parent)').last(); 

這裏有一個jsFiddle

+0

嗨,BenM,我真的很感謝解決方案。我只是想直到直接父節點LI從底部向上DOM樹。我只是想知道是否可以找到自下而上的方法以防萬一。 – h1m4l

+0

這是自下而上的?它從'.child'的第一個'li.parent'父項開始並運行。 – BenM

+0

再次感謝BenM。這工作絕對好......我應該要求從我的div.child類中找到立即的第一個父級LI,而不會超出li.base-parent – h1m4l

-1

似乎有不合理的div數量。你聽說過ID嗎?

然後這個任務就簡單多了。

$('#myide').whatever(); 
+0

DOM樹,這並不是真的提供瞭解決問題的方法。除此之外,ids是讓代碼不可重用的方式,因爲每頁只能有一個 –

相關問題