如果框为空,则在jQuery中隐藏div

时间:2017-07-20 17:15:58

标签: jquery html hide show

我创建了一个红色框,使用div在框内是空的,在div红框之外有一个链接......就像这样。

<div id="click"> click me </div>

<div id="box"></div>

我已经在Red box中添加了PHP代码,它的作用是当文件打开时,它只显示红色框内的文件名按钮。

我正在尝试做的是,当加载页面时,如果红色框是空的(红色框内没有按钮),则自动隐藏它,如果它不为空,则显示带有按钮的红色框。

我还有另一个按钮,允许我为红色框切换幻灯片,无论是否为空。

查看代码

$(document).ready(function () {
   if ($('#box').contents().length == 0){
   $('#box').hide();
} else {
   $('#box').show();
}
});

$(document).ready(function(){
    $("#click").click(function(){
        $("#box").slideToggle("slow");
    });
});

我在CSS中试过这个......

 $("div:empty").hide();
 div:empty { display: none }

和jQuery一样

$('div').filter(function() {    
  return $.trim($(this).text()) === ''    
}).remove()

由于div红色框这些工作都没有涉及空白,即使它是一个空框,或者在框内显示PHP代码,仍然考虑用于css或jquery,而不是空框。

如果框是空的,我如何解决这个问题?

请参阅jsfiddle

中的示例代码

1 个答案:

答案 0 :(得分:2)

您可以只从框中拉出文本,如果它只包含空格,修剪后会将其视为空白。例如:

$(document).ready(function () {
    if ($('#box').text().trim().length == 0){
        $('#box').hide();
    } else {
       $('#box').show();
    }
});

以及对小提琴工作的更新https://jsfiddle.net/t1oum9xe/