2012-03-15 31 views
1

我需要jQuery的一些幫助。點擊.slider後如何獲得.content?我想,然後調用.slideToggle()功能jQuery獲取父元素並調用slideToggle函數

<div class='details'> 
    <div> 
     <a href='#' class='slider'>my link</a> 
    </div> 
    <div class='content'> 
     some content 
    </div> 
</div> 
+0

你能澄清你的問題多一點?你是怎麼意思在點擊後得到.content?你想在點擊時顯示它的內容嗎?什麼? – coder4show 2012-03-15 17:13:17

回答

1

你可以做任何這些

 
$(".details a.slider").click(function(){ 

    $(this).parent().children(".content").slideToggle(); 

}); 

或(認爲這應該工作太)

 
$(".details a.slider").click(function(){ 

    $(this).siblings(".content").slideToggle(); 

}); 
+0

的.siblings()函數wokrs太:) – Tony 2012-03-17 07:50:43

+0

高興能幫助! – coder4show 2012-03-19 18:36:02

0
$(function() { 
    $('.slider').click(function(e) { 
     $(this).parent().next('.content').slideToggle(); 
     e.preventDefault(); 
    }); 
}); 
+0

'.preventDefault()'應該是函數中的_first_項,而不是最後一項。 – Sparky 2012-03-15 17:21:11

+0

@ Sparky672我不認爲這會對這段代碼產生絲毫的區別。 – 2012-03-21 21:58:39

+0

如果你這麼說。但是,[首先將它置於文檔化的方式](http://api.jquery.com/event.preventDefault/)來使用它。 – Sparky 2012-03-21 22:25:47

-1

如果我正確認識你,你想是這樣的:

$(function() { 
    $('.slider').click(function() { 
     $('.content').slideToggle(); 
    }); 
}); 
+0

這將觸發所有這些,而不是當前用戶關注的那個。 – coder4show 2012-03-19 18:44:38

0

OK我已經想通了

$(this).closest('div.details').children('div.content').slideToggle(); 
+0

我會用兄弟姐妹了,我想 - 想,應該工作反正 – coder4show 2012-03-15 17:15:11

+0

我不知道的功能,它也能工作 – Tony 2012-03-17 07:51:08