繁体   English   中英

如果嵌套div为空,则隐藏父Div

[英]Hide Parent Div if nested div is empty

当嵌套的div为空(包括空白节点)时,我试图隐藏外部div。 我发现了一个没有空格的解决方案: 如果<li>为空,则隐藏父DIV

当存在空白时,我需要它工作,即:

  <div class="gen-customer">
    <div class="wrapper">
      <div class="heading">Hidden if working 1</div>
       <div class="content">
      <div class="product"> </div>
    </div>
   </div>
 </div>

小提琴的例子

工作提琴

您可以同时使用:empty:contain()选择器:

$("div.product:contains(' '), div.product:empty").closest('div.wrapper').hide();

希望这可以帮助。

 $("div.product:contains(' '), div.product:empty").closest('div.wrapper').hide() 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="gen-customer"> <div class="wrapper"> <div class="heading">Hidden if working 1</div> <div class="content"> <div class="product"> </div> </div> </div> </div> <div class="gen-customer"> <div class="wrapper"> <div class="heading">Visible if working 2</div> <div class="content"> <div class="product">text</div> </div> </div> </div> <div class="gen-customer"> <div class="wrapper"> <div class="heading">Hidden if working 3</div> <div class="content"> <div class="product"></div> </div> </div> </div> 

您可以遍历每个div.product并修剪文本以删除空格。 如果还剩下任何东西,请显示它,否则,隐藏它的包装器。

 $("div.product").each(function() { if ($(this).text().trim() == '') { $(this).closest('div.wrapper').hide() } }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="gen-customer"> <div class="wrapper"> <div class="heading">Hidden if working 1</div> <div class="content"> <div class="product"></div> </div> </div> </div> <div class="gen-customer"> <div class="wrapper"> <div class="heading">Visible if working 2</div> <div class="content"> <div class="product">text</div> </div> </div> </div> <div class="gen-customer"> <div class="wrapper"> <div class="heading">Hidden if working 3</div> <div class="content"> <div class="product"></div> </div> </div> </div> 

//尝试使用jQuery

<script>

    //A perfect reference in Jquery...
    var element=$('#target_child');
    if($(element).html()==''){
        $(element).parent().hide()
    }else{
        //do some work
    }

</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM