我一直试图让这些代码在过去的一天中工作,同时搜索这些论坛但没有任何成功。
如果其中一个div
内部没有内容,我想要隐藏容器div
。
我得到的剧本如下:
$('.video-centre').each(function(){
if ($(this).find('.video-thumb p').text().length == "")
$(this).find('.video-centre').css("display", "none");
});
我正在尝试将其应用于以下内容的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>
基本上,在wordpress中,客户端将有机会添加视频,它有点啰嗦,但它们包含在p
标签中。但是,如果他们没有将任何内容上传到特定区域,我希望容器div
拥有display:none
,导致只有在上传视频时才会显示容器。
如果有一种更简单的方式来查看div
并说它是否为空,那么让容器div
显示为空,我会很乐意尝试。
答案 0 :(得分:7)
使用:empty
伪类
if ($(this).find('.video-thumb p').is(':empty'))
这会检查您是否有空段落(<p></p>
),而
if ($(this).find('.video-thumb').is(':empty'))
检查空的.video-thumb
元素
编辑后:如果div中有空格,则条件返回false,因此最好简单检查
if ($(this).find('.video-thumb p').length === 0)
答案 1 :(得分:2)
你可以通过多种方式做到这一点。
$('.video-centre').each(function(){
if($(this).find('div.video-thumb').html('') == '')
$(this).hide();
});
OR
$('.video-centre').each(function(){
if($(this).find('div.video-thumb').children().length == 0)
$(this).hide();
});
答案 2 :(得分:0)
if ($(this).find('.video-thumb p').text() == "")
或
if ($(this).find('.video-thumb p').is(':empty'))
答案 3 :(得分:0)
希望我理解Q,这是我提出的 fiddle 。好又简单。
if ($('.video-centre').find('div:hidden').size() > 0) {
$('.video-centre').children().hide();
}
答案 4 :(得分:0)
我会尝试删除html标记之间的换行符
<div class="video-thumb">
<?php the_field('testimonials'); ?>
</div>
应该是
<div class="video-thumb"><?php the_field('testimonials'); ?></div>
但你也可以用PHP来解决这个问题:
<?php if (the_field('testimonials')=="") $style=" style='display:none'";?>
<div class="video-thumb" <?php print $style;?>>
<?php the_field('testimonials'); ?>
</div>
答案 5 :(得分:0)
您还可以使用striptags函数检查字符串,因此从您的“推荐”值中使用内置函数“striptags”中的php删除标签,所以现在只剩下可以轻松比较的文本。