1

我正在使用下面的脚本来隐藏空白div,litd. 它工作正常。我面临的唯一问题是,当页面加载时它显示空白divsli并且td. 我在这些空白 div 上有一个边框类,在页面加载完成之前它是可见的,这是我不想要的。我想隐藏它,直到这些元素没有填充任何文本或任何内容。

脚本:

$(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');
  });

我可以得到任何帮助来修复它。

谢谢,

4

5 回答 5

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');
于 2013-04-12T08:40:31.303 回答
1

为什么不这样:

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

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

于 2013-04-12T08:43:44.003 回答
1

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

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

如果要隐藏empty页面上的所有 div:

$(function() {
    $("div:empty").hide();
});
于 2013-04-12T08:44:28.113 回答
0

你不能在加载之前修改 dom。但是,如果您真的想这样做,请使用以下方法:

  • 默认隐藏 everydivli
  • 当文档准备好时显示它们(如果它们不为空)
于 2013-04-12T08:40:15.880 回答
0

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

$(function() {
      $("element:empty").hide();
});
于 2013-04-12T08:41:43.873 回答