2016-09-25 108 views
0

如果里面的标签没有任何显示内容,我想隐藏class =“form-group”的div 这里是我的html代码:Javascript:如果标签里面为空,如何隐藏div

echo'<div class="form-group">'; 
         echo'<label for="exampleInputFile" class="tbh">'.$query2['req_1'].'</label>'; 
         echo'<input type="file" name="my_image" accept="image/*" id="exampleInputFile"> '; 
         echo'</div>'; 

而且我的JavaScript是在这里:

<script type="text/javascript"> 
         if($('label.tbh:empty')){ 
          $('div.form-group').hide(); 
         } 
         </script> 

是否有任何其他方式做到这一点?在我的代码中,它似乎不起作用。 在此先感谢您的帮助。

+0

所有答案不仅对我有用,对观众也有用。 +1给所有回答的人。我很感激你的帮助。 – user

回答

1

如果你使用jQuery,您可以通过这种方式做到这一点:

$("div.form-group label.tbh:empty").parent().hide(); 

这里面document.ready回调做一个正确的方法:

$(document).ready(function(){ 
    $("div.form-group label.tbh:empty").parent().hide() 
}); 

要包含jQuery,请添加

echo '<script src="https://code.jquery.com/jquery-3.1.1.js"></script>'; 

您的脚本的头。

但似乎你在后端使用PHP或类似的东西?在这种情况下,你不会不必要的数据传输到客户端

if(strlen($query2['req_1']) == 0) 
{ 
    echo'<div class="form-group">'; 
    echo'<label for="exampleInputFile" class="tbh">'.$query2["req_1"].'</label>'; 
    echo'<input type="file" name="my_image" accept="image/*" id="exampleInputFile"> '; 
    echo'</div>'; 
} 

: 如果是这样,你可以做它像这样的服务器端代码。

+0

感谢@MobDev jQuery完美运作。而PHP也是如此,但PHP非常棘手。这真的帮了很多人感谢。 – user

+0

很高兴帮助你:) – MobDev

1

试试这个:

if($('label.tbh').html() == ""){ 
    $('div.form-group').hide(); 
    } 
+0

我给出了一个控制台错误它说:Uncaught ReferrenceError:$未定义 – user

+0

尝试jQuery现在$现在如果你有jQuery没有定义,然后检查正确版本的jquery是否加载? –

1

U可以做到这一点是这样的:

/* Be sure that ur dom is loaded */  
$(document).ready(function() { 
    /* Checking that the label is empty */ 
    if($("label").html().length == 0) { 
     $('div.form-group').hide(); 
    } 
}); 

ü也可以用它代替长度尺寸();)

2

使用.text()是更安全的选择。如果标签为空,则.text()将返回一个空字符串,否定将给出true。请参阅下面的示例中的交互式片段。我将相关的代码放在一个按钮点击处理程序中,以证明它在您点击它后可以正常工作。

$('button').click(function() { 
 
    if (!$('.tbh').text()){ 
 
    $('.form-group').hide(); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div class="form-group"> 
 
<label for="exampleInputFile" class="tbh"></label> 
 
<input type="file" name="my_image" accept="image/*" id="exampleInputFile"></div> 
 

 
<button>Click to hide</button>

+0

感谢它的工作原理,但是如果我想在不需要按钮的情况下自动隐藏它,该怎么办。 – user

+1

我把它放在一个按钮中,以证明它在你点击它的例子后有效。你可以简单地使用你的用例的按钮功能中的代码。 –

+0

谢谢你,我要和它一起玩。 +1您的回答对观众有用。 – user