Html 如果子div为空,则隐藏父div

Html 如果子div为空,则隐藏父div,html,jquery,css,wordpress,Html,Jquery,Css,Wordpress,我有这三列行,想隐藏这两个空列 <div class="wp-block-columns"> <div class="wp-block-column"> <div class="wp-block-image">content</div> <div class="tb-field">content</div>

我有这三列行,想隐藏这两个空列

<div class="wp-block-columns">
   <div class="wp-block-column">
      <div class="wp-block-image">content</div>
      <div class="tb-field">content</div>
      <div class="tb-field">content</div>
      <div class="tb-button>content</div>
   </div>
   
   <div class="wp-block-column">
      <div class="wp-block-image"> </div>
      <div class="tb-field"> </div>
      <div class="tb-field"> </div>
      <div class="tb-button> </div>
   </div>

   <div class="wp-block-column">
      <div class="wp-block-image"> </div>
      <div class="tb-field"> </div>
      <div class="tb-field"> </div>
      <div class="tb-button> </div>
   </div>

</div>
试试这个

jQuery('.wp-block-column').each(function(){
  var current_column = jQuery(this);
  var image = current_column.find('.wp-block-image');
  var field = current_column.find('.tb-field');
  var button = current_column.find('.tb-button');
  
  if(jQuery.trim(image.html()) == 0){
    current_column.hide();
  }
  if(jQuery.trim(field.html()) == 0){
    current_column.hide();
  }
  if(jQuery.trim(button.html()) == 0){
    current_column.hide();
  }
});

我无法理解您的代码是如何无法按您所希望的方式工作的。我只注意到我必须修复div.tb-button标记的html。它需要最后的双引号

话虽如此,为什么不试着对文本的修剪版本进行测试,看看它是否为空。它将更少地横穿DOM,并且使用更少的代码来管理会更快

jQuery('.wp block column')。每个(函数(){
var$this=jQuery(this);
$this.text().trim()==''&$this.remove();
});
如果愿意,可以将“remove”(从DOM中删除元素)替换为“hide”(元素上显示:“none”)。

我应该做:

函数checkIfEmpty(parentid,childid){if(document.getElementById(childid).innerHTML==“”){document.getElementById(parentid).style.display='none';}}


我希望这就是您正在寻找的

在使用类tb-button将缺少的“结束”添加到元素后,您的代码在这个小提琴中工作。非常感谢。工作非常完美!
jQuery('.wp-block-column').each(function(){
  var current_column = jQuery(this);
  var image = current_column.find('.wp-block-image');
  var field = current_column.find('.tb-field');
  var button = current_column.find('.tb-button');
  
  if(jQuery.trim(image.html()) == 0){
    current_column.hide();
  }
  if(jQuery.trim(field.html()) == 0){
    current_column.hide();
  }
  if(jQuery.trim(button.html()) == 0){
    current_column.hide();
  }
});