2013-04-15 122 views
0

我有这个片段,它能正常工作并隐藏.currencybox div,如果里面没有列表项。如果父母没有列表项目,jQuery隐藏div

jQuery(".currencybox:not(:has(li))").hide(); 

我怎么会改变这种做法,它隐藏了一个名为.currencycontainer如果.currencybox DIV没有任何列表元素的DIV?

+0

请问您可以在问题中发布您的HTML吗? – andyb

回答

0

如何:

$(".currencybox:not(:has(li))").each(function(){ 
    $(this).closest('.currencycontainer ').hide(); 
}); 
0
if ($('.currencybox').children('li').length == 0) 
{ 
$('.currencycontainer').hide(); 

} 

也许它会帮助

0

HTML:

<div class="parent"> 
    <div class="currencycontainer" >currencycontainer</div> 
    <div class="currencybox" >currencybox 
     <ul> 
      <li>1</li> 
     </ul> 
    </div> 
</div> 
<div class="parent"> 
    <div class="currencycontainer" >currencycontainer</div> 
    <div class="currencybox" >currencybox 
     <ul> 
     </ul> 
    </div> 
</div> 

JS:

$(".currencybox:not(:has(li))").each(function(){ 
    $(this).parent().find('.currencycontainer ').hide(); 
}); 

参见演示fiddle