当标签文本为空时,如何隐藏Div?

时间:2013-12-30 11:09:44

标签: javascript php html

我试图通过检查标签是否为空来隐藏'div'。但是出了点问题。以下是我使用的代码。

<script>
 function myfun(){
     if (document.getElementById('department').innerHTML=='') {
         document.getElementById('departmentdiv').style.display="none";
     }
 }
</script>
<body onload="myfun()">
  <div id="departmentdiv" class="row-fluid">
    <label>DEPARTMENT:</label>
    <label id="department"><?php if (!empty($_POST['department']))echo $_POST['department'];?></label>
  </div>
</body>

我从另一个页面获取POST [department]值并将其分配给此页面中的标签。我想只在值不为null时显示div。但是,问题是标签在此页面上根本不显示,即使它不为空。有没有人可以帮助我

5 个答案:

答案 0 :(得分:2)

可能你可以试试php空函数进行验证。如果不是空帖子部门那么显示:

<script>
    function myfun(){
    <?php if (empty($_POST['department'])){?>
        document.getElementById('departmentdiv').style.display="none";
    <?php }?>
    }
</script>

答案 1 :(得分:1)

尝试这样的事情,

if (document.getElementById('department').innerHTML.length) {
    document.getElementById('departmentdiv').style.display="none";
}

如果空格导致问题,那么

 if (document.getElementById('department').innerHTML.trim().length) {
   document.getElementById('departmentdiv').style.display="none";
 }

答案 2 :(得分:1)

使用isset()代替empty():)

答案 3 :(得分:1)

InnerHTML工作正常:

 if (document.getElementById('department').innerHTML == '') {
     document.getElementById('departmentdiv').style.display = "none";
 }

Here is working demo

答案 4 :(得分:1)

正如您在此JSFiddle中所看到的,它确实有用。问题必须与PHP代码有关。您不需要使用empty()进行测试,只需输出变量即可。如果部门中可能有空格,trim在输出

之前
<div id="departmentdiv" class="row-fluid">
    <label>DEPARTMENT:</label>
    <label id="department"><?= trim($_POST['department']); ?></label>
</div>