需要jQuery隐藏/显示帮助吗
我使用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
<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
的元素,包括您在其中放置的元素。我可以这样做,但我需要在实际代码中显示/隐藏多个元素。