在我的例子中,有两个html元素由另一个元素(父元素)覆盖,如下所示
<div class="tabs">
<ul class="header">
<li> <a> </a> </li>
</ul>
<div class="content show"> </div>
</div>在这里,tabs是一个父级,header和show是它的子级,我的问题是在单击<a> (它是header的一个大子级)时,需要删除一个header的类show兄弟级
我用了closest(),这对我的尝试演示没有帮助
$(this).closest('content').removeClass('show');帮帮我
编辑:(jsfiddle中的标记)
<div class="tabs">
<ul class="tabheader">
<li class="active"><a href="#fragment-1"><span>FAQs</span></a>
</li>
<li><a href="#fragment-2"><span>Credit bundle</span></a>
</li>
<li><a href="#fragment-3"><span>Delivery & turnaround times</span></a>
</li>
<li><a href="#fragment-4"><span>Testimonials</span></a>
</li>
</ul>
<div class="clearfix"></div>
<div id="fragment-1" class="tabed_contents show">adasdasd</div>
<div id="fragment-2" class="tabed_contents">adasdasd</div>
<div id="fragment-3" class="tabed_contents">adasdasd</div>
<div id="fragment-4" class="tabed_contents">adasdasd</div>
</div>发布于 2013-10-09 10:12:07
首先,您需要在类选择器中使用.前缀。但是,您要查找的是父.content元素,但是它是父元素的同级元素,因此不会被找到。
试试这个:
$(this).closest('.tabs').find('.tabed_contents').removeClass('show');或者,您可以访问.header并找到同级.content。
$(this).closest('.header').siblings('.tabed_contents').removeClass('show');若要不隐藏所有.tabed_contents,请使用以下命令:
$(this).closest('.tabs').find('.tabed_contents').hide();小提琴
发布于 2013-10-09 10:17:27
试试这个:
$( this ).parent().parent().siblings(".content").removeClass('show');https://stackoverflow.com/questions/19269071
复制相似问题