如果 2 个特定的孩子为空,则隐藏父级

问题描述

  1. 我正在处理一个项目,如果 2 个孩子是空的(孩子 1 是空的,孩子 2 是空的),我想隐藏父级。
  2. 有人可以帮忙吗? 我的代码使用了强调文本

jQuery('.parent') // Je cheche le mot parent
    .hide() // Cache le 
    .find(' (div.child1,div.child2):not(:empty)') // si le dic est 
    .each(function() { 
    jQuery(this).parent().show(); 
    return false; 
  })
;
<div class="parent  ">
    <div class="col-10 "></div>                                            
    <div class="col-10 "></div></div>
    <div class=" ">:</div></div>
    <div class=" child1"></div>
    <div class=" child2"></div>                  
</div>
<div class="parent ">
    <div class=" "></div>                                             
    <div class=" "> :</div>
    <div class=" "> :</div>
    <div class=" child1"></div>
    <div class=" child2"></div>                      
</div>

解决方法

您可以使用 each 循环,然后使用 text() 比较 div 的值,看看它的 "" 是否隐藏了父 div 。

演示代码

$(".parent").each(function() {
  //use || if anyonecan be empty
  if (($(this).find(".child1").text().trim() == "") && ($(this).find(".child2").text().trim() == "")) {
    $(this).hide()
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="parent">
  <div class="col-10 "></div>
  <div class="col-10 "></div>
  <div class=" ">:1</div>
  <div class="child1"></div>
  <div class="child2"></div>
</div>
<div class="parent">
  <div class=" "></div>
  <div class=" "> :2</div>
  <div class=" "> :2</div>
  <div class="child1"></div>
  <div class="child2"></div>
</div>
<div class="parent">
  <div class=" "></div>
  <div class=" "> :</div>
  <div class=" "> :</div>
  <div class="child1">3</div>
  <div class="child2">3</div>
</div>