2013-05-17 90 views
0

以下是我的代碼,我的目標是當用戶點擊<a>我想提醒cl​​ass ='sibling_3'的內容是'Hello'。獲取兄弟姐妹內容jquery

<td class="sibling_1"> 
    <a href="#">Click Me</a> 
</td> 
<td class="sibling_2"></td> 
<td class="sibling_3"> 
    <p class="par">Hello</p> 
</td> 

我試過做下面的代碼,但它給了我一個未定義的錯誤。

$('a').click(function(){ 
    alert($(this).closest('.par').html()); 
}); 
+0

嘗試'警報($(本).closest( '看齊。 ')第一()HTML());'或'警報($(本).closest(' TR' ).closest('。par')。first()。html());' – Salil

回答

0
$('a').click(function() { 
    alert($(this).closest('td').siblings().find('.par').html()); 
}); 

說明:

$(this)   // Get the current link clicked 
.closest('td') // Go to the closest parent td 
.siblings()  // Get the siblings of td 
.find('.par') // find the element with .par class 
.html()   // Get its content 
+0

這仍然給我undefined錯誤 – user2310422

+0

@ user2310422:看到這個.. http://jsfiddle.net/LwjWa/ –

0

你可以試試:

$('a').click(function(){ 
    alert($(this).parent().parent().find('.par').html()); 
}); 
0
$(this).parent().next().next().find('.par').html() 
0

試試這個:

$('a').click(function(){ 
    alert($(this).parents('table').find('.par').html()); 
}); 
0

如果你想提醒的內容是在一個類(或標識)定義的標記,你可以做簡單,如:

$('a').click(function(){ 
    alert($('.par').html()); 
}); 

如果不是,它是在最後的兄弟姐妹,定義與否,代碼將是

$('a').click(function(){ 
    alert($(this).parents().get(0).siblings(':last').text()); 
}); 
0

你可以用更短的一個嘗試:

$('a').click(function(){ 
    alert($(this).closest('tr').find('.par').html()); 
}); 

Find a Demo here

0
$('a').click(function(){ 
    alert($('.par').text()); // Simple way 
    alert($(this).parent().parent().find('.par').html()); // Find through parent 
}); 

Demo