使用jQuery定位父div中的元素

时间:2011-07-22 10:23:57

标签: jquery parent slidetoggle

我使用此代码显示并隐藏了一个名为“text”的类:

$(".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”。我想我应该使用parent()函数,但我不明白应该如何应用它。

感谢您的帮助。

5 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

你可以这样做(这样每个链接只显示相关文字):

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

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

答案 2 :(得分:0)

替换

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

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

答案 3 :(得分:0)

尝试:

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

答案 4 :(得分:0)

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