如何在页面加载时隐藏空白div

时间:2013-04-12 08:38:10

标签: jquery html html-lists html-table

我使用下面的脚本隐藏空白divlitd。它工作正常。 我面临的唯一问题是,当网页加载时,它会显示空白divslitd。 我在这些空白div上有一个border类,直到页面加载完成,我不想要它。我想隐藏它,直到这些元素没有填充任何文本或任何内容。

脚本:

$(document).ready(function(){
    $("td:empty").css('display', 'none');
    $("div[class='errorMsg']").filter(function(i,v){return $.trim($(v).text()).length == 0;}).css('display', 'none');
    $('li').filter(function(){return $.trim($(this).html()) == '';}).hide()
    $("td[class='noShow']").filter(function(i,v){return $.trim($(v).text()).length == 0;}).css('display', 'none');
  });

我可以获得任何帮助以解决问题。

谢谢,

5 个答案:

答案 0 :(得分:1)

一个简单的解决方案就是改变你的策略。默认情况下,保持div隐藏并显示非空白的div。

更新:

你的css文件中的

隐藏div.errorMsg:

div.errorMsg
{
    display : none;
}

然后在您的脚本中修改您的代码,如下所示:

$("div[class='errorMsg']").filter(function(i,v){return $.trim($(v).text()).length > 0;}).css('display', 'block');

或写如下:

$("div.errorMsg:not(:empty)").css('display', 'block');

答案 1 :(得分:1)

为什么不这样:

var $div2hide = $.trim($("div.errorMsg:empty"));
$div2hide.hide();

只需获取空div并修剪它所拥有的任何空格,如果它是空的,则只需隐藏它。

答案 2 :(得分:1)

您可以在页面加载时隐藏具有特定类empty的{​​{1}} div,如下所示:

errorMsg

如果您想隐藏页面上的所有$(function() { $("div.errorMsg:empty").hide(); }); div:

empty

答案 3 :(得分:0)

你无法在加载之前修改dom。但如果你真的想这样做,那就拿这个apporch:

  • 默认隐藏每个divli等。
  • 当文档准备好时,如果它们不是空的,则显示它们

答案 4 :(得分:0)

基本上我们使用这个,如果一个元素是空的来隐藏

$(function() {
      $("element:empty").hide();
});