如果div为空,则将容器div设置为"display:none"

Pau*_*kay 3 html javascript api wordpress jquery

我一直试图让这些代码在过去的一天工作,同时搜索这些论坛但没有任何成功.

我想隐藏一个容器,div如果其中一个div内部没有内容.

我得到的剧本如下:

$('.video-centre').each(function(){
  if ($(this).find('.video-thumb p').text().length == "")
    $(this).find('.video-centre').css("display", "none");

});
Run Code Online (Sandbox Code Playgroud)

我试图将其应用于的HTML如下:

<div class="video-centre">
  <div class="video-point">
    <img src="<?php echo get_bloginfo('template_url') ?>/images/video-point.jpg" alt="video pointer" />
  </div>
  <div class="video-thumb">
    <?php the_field('testimonials'); ?>
  </div>
  <p class="video-more">
    <a href="javascript:animatedcollapse.show(['expandable-1'])">View More</a>
  </p>
  <div id="expandable-1">
    <div class="video-thumb">
      <?php the_field('testimonials_hidden'); ?>
    </div>
    <p class="video-close">
      <a href="javascript:animatedcollapse.hide(['expandable-1'])">Close</a>
    </p>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

基本上,在wordpress中,客户端将有机会添加视频,它有点长,但它们包含在p标签中.但是,如果他们没有将任何内容上传到特定区域,我希望容器div具有display:none,导致只有视频上传时才显示容器.

如果有一个更简单的方法来查看div并说它是否为空,那么让容器div显示没有我会很乐意尝试.

fca*_*ran 7

使用:empty伪类

if ($(this).find('.video-thumb p').is(':empty'))
Run Code Online (Sandbox Code Playgroud)

这会检查你是否有一个空的段落(<p></p>)

if ($(this).find('.video-thumb').is(':empty'))
Run Code Online (Sandbox Code Playgroud)

检查一个空.video-thumb元素


编辑之后:如果div中有空格,则条件返回false,因此最好进行简单检查

if ($(this).find('.video-thumb p').length === 0)
Run Code Online (Sandbox Code Playgroud)

示例小提琴:http://jsfiddle.net/6nyF8/6/