需要jQuery隐藏/显示帮助吗

需要jQuery隐藏/显示帮助吗,jquery,Jquery,我使用jQuery在用户交互时显示和隐藏元素。以下代码可以正常工作: <script type="text/javascript"> $(document).ready(function () { $('.c').hide(); $('.b').click(function() { var t = $(this); t.parent().find('.c').show(); }); }); </script

我使用jQuery在用户交互时显示和隐藏元素。以下代码可以正常工作:

<script type="text/javascript">

$(document).ready(function () {
    $('.c').hide();
    $('.b').click(function() {
    var t = $(this);
    t.parent().find('.c').show();               
    });
});
</script>

<div class="a">
    <a href="#" class="b">Show</a>
    <div class="c">This is hidden text</div>
</div>

$(文档).ready(函数(){
$('.c').hide();
$('.b')。单击(函数(){
var t=$(本);
t、 父项().find('.c').show();
});
});
这是隐藏文本
但是当我把链接放在div标记中时,代码就不起作用了。我想不出这个问题。所以我希望得到一些帮助

<script type="text/javascript">

$(document).ready(function () {
    $('.c').hide();
    $('.b').click(function() {
    var t = $(this);
    t.parent().find('.c').show();               
    });
});
</script>

<div class="a">
    <div class="d"><a href="#" class="b">Show</a></div> //if i place it inside div it doesn't work
    <div class="c">This is hidden text</div>
</div>

$(文档).ready(函数(){
$('.c').hide();
$('.b')。单击(函数(){
var t=$(本);
t、 父项().find('.c').show();
});
});
//如果我把它放在div里面,它就不工作了
这是隐藏文本
有人能指出它为什么不工作吗?

$(this).parent()
是一个
div.d
,而不是
div.a
,所以它不包含
div.c
,这就是为什么
find('.c')
不会给你任何元素的原因。

当然,你在错误的地方(div class=d)进行find(),所以你找不到(div class=c)从那里开始

你为什么需要这个?如果只是:

$('.c').show()

由于包含的div不再是链接的父级,因此使用
.parent()
查找它是不起作用的。使用
最接近('.a')
查找它:

t.closest('.a').find('.c').show();

这将有助于在同一包含元素中查找类为
c
的元素,包括您在其中放置的元素。

我可以这样做,但我需要在实际代码中显示/隐藏多个元素。