如果包含php的div标签为空,则隐藏div或显示某些文本

时间:2014-09-12 21:39:04

标签: javascript php jquery html

似乎有很多关于隐藏空div的问题,但是在我尝试了几个没有运气的问题之后我会问自己的问题。我在我的页面上有这一部分,在这种情况下显示各种标题。

这就是有标题显示的样子:

enter image description here

这是没有标题显示的样子:

enter image description here

当没有要显示的标题时,这就是我想要的样子:

enter image description here

以下是处理此区域问题所涉及的代码部分,标题是在成员拥有并从functions.php收集了多少分之后收集的,所以我想要一些可以读取的内容,即没有标题从functions.php收集然后而不是 丑陋的小方块它显示没有标题如果有人对此有答案我将非常高兴,我已经上了几个小时但没有成功,我应该说,我非常新手当涉及到PHP而不是javascript和jquery时。

 <div id='dumb'>
    <div id="assocpoint2">TITEL/S:</div><div id="assocpointprint2">
    <? if($gender === 'Mare'){echo find_asda_title($horse);}elseif($gender === 'Stallion'){echo find_asda_title($horse);}elseif($gender === 'Gelding'){echo find_asda_title($horse);} ?>
    <? if($gender === 'Mare'){echo find_asea_title($horse);}elseif($gender === 'Stallion'){echo find_asea_title($horse);}elseif($gender === 'Gelding'){echo find_asea_title($horse);} ?>
    <? if($gender === 'Mare'){echo find_asja_title($horse);}elseif($gender === 'Stallion'){echo find_asja_title($horse);}elseif($gender === 'Gelding'){echo find_asja_title($horse);} ?>
    <? if($gender === 'Mare'){echo find_sisf_title($horse);}elseif($gender === 'Stallion'){echo find_sisf_title($horse);}elseif($gender === 'Gelding'){echo find_sisf_title($horse);} ?>
    <? if($gender === 'Mare'){echo find_aspa_title($horse);}elseif($gender === 'Stallion'){echo find_aspa_title($horse);}elseif($gender === 'Gelding'){echo find_aspa_title($horse);} ?>
    <? if($gender === 'Mare'){echo find_aswa_title($horse);}elseif($gender === 'Stallion'){echo find_aswa_title($horse);}elseif($gender === 'Gelding'){echo find_aswa_title($horse);} ?>
    </div></div>

2 个答案:

答案 0 :(得分:1)

大多数代码似乎完全没有意义/重复。为什么不更像:

$output = find_asda_title($horse) . find_asea_title($horse) . etc...
if (in_array($gender, array('Mare', 'Gelding', 'Stallion')) {
   echo $output;
} else {
   echo stuff to hide the div
}

答案 1 :(得分:0)

如果需要,您可以通过css处理空div的内容:

只需使用:empty选择器定位空div,然后向其添加伪内容:

#assocpointprint2:empty:after {
   content: "No Title";
}