Javascript 如果标签为空,则显示一个div并隐藏另一个div
我已经能够有效地显示一个div,如果标签是空的(通知用户没有找到internet连接),这就是我想要的 但是,如果标签为空,我还想隐藏Javascript 如果标签为空,则显示一个div并隐藏另一个div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我已经能够有效地显示一个div,如果标签是空的(通知用户没有找到internet连接),这就是我想要的 但是,如果标签为空,我还想隐藏#activateform 使用我当前的设置#activateform在函数运行时隐藏,即使填充了标签,但这不是我想要的。我尝试使用if语句(请参阅下面的代码块),但未能使其正常工作 这是我的html: <div class="form-group" style="display:none"> <label id="internet_ipa
#activateform
使用我当前的设置#activateform
在函数运行时隐藏,即使填充了标签,但这不是我想要的。我尝试使用if语句(请参阅下面的代码块),但未能使其正常工作
这是我的html:
<div class="form-group" style="display:none">
<label id="internet_ipaddr" for="internet_ipaddr" class="tbh"></label>
<h4> You don't seem to be connected to the internet </h4>
</div>
<div id="activateform"> This has to be hidden if label = empty </div>
只有当label=empty时,我才尝试将其设置为:
$(document).ready(function(){
setTimeout(function(){
if $("div.form-group label.tbh").empty() {
$("#activateform").hide();
}
},2000);
您可以使用方法和方法的组合
setTimeout(函数(){
var elem=$(“div.form-group label.tbh”);
if(元素为(':empty')){
elem.parent().hide();
$(“#activateform”).hide();
}否则{
elem.parent().show();
}
//代码的其余部分
}, 2000);代码>
您似乎没有连接到internet
方法empty()
不用于检查元素是否为空,而是用于删除其所有内容(即清空它)。要检查它是否为空,可以使用is(':empty')
,类似于第一次尝试时使用的方法
注意:我不知道为什么您要使用setTimeout
将其延迟2秒,但我保留了该代码
$(文档).ready(函数(){
setTimeout(函数(){
变量标签=$(“div.form-group label.tbh”);
如果($(“div.form-group label.tbh”)。为(':empty')){
label.parent().show();
$(“#activateform”).hide();
}
}, 2000);
});代码>
您似乎没有连接到internet
如果label=empty
函数empty()
从所选元素中删除所有内容,并且在删除所有内容后不返回布尔值,而是返回所选元素,则必须隐藏此项。因此,如果$(“div.form-group label.tbh”).empty(){
,您的条件将永远不会为true,因为label元素不是false
您可以使用html()
函数,该函数返回元素的内容并将该值与空字符串进行比较,如下所示:
$(document).ready(function(){
setTimeout(function(){
if ($("div.form-group label.tbh").html() == "") {
$("#activateform").hide();
}
},2000);
参考:
谢谢,这样可以切换表单组,如果显示表单组,如何隐藏activateform div?
$(document).ready(function(){
setTimeout(function(){
if ($("div.form-group label.tbh").html() == "") {
$("#activateform").hide();
}
},2000);