2011-07-22 30 views
1

我使用此代碼顯示和隱藏有一個名爲「文字」一類的DIV父DIV中的元素:目標與jQuery

$(".text").hide(); 
$('.more-link').click(function(){ 
     $(".text").slideToggle();   
}); 
這個HTML

一起:

<div class="box"> 
    <p>Some text</p> 
    <div class="text"> 
     <p>Even more text</p> 
    </div> 
    <a href="#" class="more-link">Read more</a> 
</div> 

<div class="box"> 
    <p>Some text</p> 
    <div class="text"> 
     <p>Even more text</p> 
    </div> 
    <a href="#" class="more-link">Read more</a> 
</div> 

我需要幫助來定位父div中特定的「div.text」。我想我應該使用父()函數,但我不明白我應該如何應用它。

謝謝你的幫助。

+0

正在使用哪些因素推動這一進程?這將決定你如何導航到適當的元素。 –

回答

1

你可以這樣做(這樣,每個環節只顯示相關文本):

$(".text").hide(); 
$('.more-link').click(function(){ 
     $(this).prev(".text").slideToggle();   
}); 

fidlle:http://jsfiddle.net/QEVXf/

+0

這是迄今爲止最好的解決方案。 +1 – Kai

+0

謝謝,這是一個很好的解決方案。 –

0

更換

$('.more-link').click(function(){ 
     $(".text").slideToggle();   
}); 

$('.more-link').click(function(){ 
     $(this).parent().find(".text").slideToggle();   
}); 
1
$('.text').hide(); 
$('.more-link').click(function(){ 
    $(this).parent().find('.text').slideToggle();   
}); 
0

嘗試:

$(".text").hide(); 
$('.more-link').click(function(e){ 
    $(this).parent().find(".text").slideToggle();   
}); 
0
$(".text").hide(); 
$('.more-link').click(function(){ 
     $(this).siblings(".text").slideToggle();   
});