2013-10-06 82 views
0

下面是我工作的代碼,我的目標是,只要用戶點擊了一類「click_me」的鏈接,我想提醒它的內容的父母的兄弟姐妹,這是「你好,朋友「或」你好嗎?「。選擇父母的兄弟姐妹的內容

我試着做下面的代碼,但沒有奏效。

$('.click_me').click(function(event){ 
        alert($(this).parent('div').closest('p').html()); 
       }); 



<li> 
    <div> 
     <a href="#" class="click_me">Click Me</a> 
    </div> 
    <p>Hello Friends!</p> 
</li> 


<li> 
    <div> 
     <a href="#" class="click_me">Click Me</a> 
    </div> 
    <p>How are you?!</p> 
</li> 
+2

你把解決方法是在問題的標題。 – Barmar

回答

2

.closest()將查找只有祖先元素,你的情況p元素不是一個祖先元素,它是同級

你需要使用siblings()

alert($(this).parent('div').siblings('p').html()); 

演示: Fiddle

或在這種情況下,它是下一個元素使用.next()

alert($(this).parent('div').next('p').html()); 

演示:Fiddle

2

您可以使用next選擇其父的下一個元素。使用選擇器的問題是,您正在使用closest來查找自己並在DOM樹上進行測試。

alert($(this).closest('div').next().html()); 

Fiddle