2014-05-25 49 views
0

我有一张桌子......每个< tr>有一个class class = opt_NS1的div,对于每个tr我有一个class = d4_0I_oL_vJ的链接,其中用户单击并且该div的div < tr>与类= opt_NS1显示...切换块的显示

这里是表

<tr><a class="d4_0I_oL_vJ"></a><div class="opt_NS1"></div></tr> 
<tr><a class="d4_0I_oL_vJ"></a><div class="opt_NS1"></div></tr> 
<tr><a class="d4_0I_oL_vJ"></a><div class="opt_NS1"></div></tr> 
<tr><a class="d4_0I_oL_vJ"></a><div class="opt_NS1"></div></tr> 
<tr><a class="d4_0I_oL_vJ"></a><div class="opt_NS1"></div></tr> 
<tr><a class="d4_0I_oL_vJ"></a><div class="opt_NS1"></div></tr> 

现在我写此代码为“类=” opt_NS1“”出现在点击的例子...

jQuery('.d4_0I_oL_vJ').on('click', function (evt) { 
    var $button = jQuery(this); 
    var $tr = $button.parents('tr'); 
    var $div = $tr.find('.opt_NS1'); 
    $div.toggle(); 
}); 

但我遇到的问题是当我点击一个链接时div正常显示,但是如果我点击另一个链接从另一个链接tr的新div出现太多,但打开的旧的打开仍然是...打开我可以这样做,当tr的链接点击其他“class = opt_NS1”divs得到隐藏...

请有人可以帮助我这个请。谢谢

回答

1

尝试

jQuery('.d4_0I_oL_vJ').on('click', function (evt) { 
    var $button = jQuery(this); 
    var $tr = $button.closest('tr');//better change here to closest 
    var $div = $tr.find('.opt_NS1');//current div 
    jQuery('.opt_NS1').not($div).hide(); //hide all other div's not the current one 
    $div.toggle(); 
}); 

.not()

.closest()

+1

YES!它非常好,非常感谢你! –

+0

@AlexandruVlas很高兴帮助。 –