2013-11-05 136 views
0

我遇到了一個問題,我的代碼沒有將父母識別爲「ul」,而是將其視爲類。這個孩子比我認爲應該有更廣泛的影響。jquery指定孩子和家長

段代碼:

<script> 
     $(document).ready(function(){ 
     $("div:last").click(function(){ 
      $("ul").parent(".northern").children(':nth-child(3)').hide(); 
      }); 
     }); 
    </script> 

<section class="northern"> 
      <h2>US</h2> 
      <ul> 
       <li>Princeton</li> 
       <li>Harvard</li> 
       <li>Yale</li> 

      </ul> 
      <div> 
       <input type="button" value="Click Me!"> 
      </div> 
     </section> 
+1

它的作品,因爲它應該,它隱藏的按鈕,這是北方 http://jsfiddle.net/dTcub/ – Breezer

+0

的第三孩子如果這ISN」不要做你期望的事情,我想你不明白jQuery中的鏈接是如何工作的。 – Barmar

回答

0

使用.closest()

$(document).ready(function() { 
    $("div:last").click(function() { 
     $("ul").closest(".northern").children(':nth-child(3)').hide(); 
    }); 
}); 

我認爲OP希望第三屆李項

Fiddle DEMO

$(document).ready(function() { 
    $("div:last").click(function() { 
     $(".northern ul").children(':nth-child(3)').hide(); 
    }); 
}); 
+0

你犯了一個錯字。 –

+0

@SrinivasReddyThatiparthy我已經修復它 – Barmar

+0

@Barmar ty我在上面:) –

2

你似乎TH油墨$("ul").parent(".northern")意味着找到其父母具有類別=北部的UL。它的實際含義是找到所有的UL,然後找到他們所有的父母,他們的班級=北部.parent()是一種DOM遍歷方法,而不是過濾器。

你大概想的是:

$(".northern > ul").children(':nth-child(3)').hide();