我使用下面的脚本隐藏空白div
,li
和td
。它工作正常。
我面临的唯一问题是,当网页加载时,它会显示空白divs
,li
和td
。
我在这些空白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');
});
我可以获得任何帮助以解决问题。
谢谢,
答案 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:
div
,li
等。答案 4 :(得分:0)
基本上我们使用这个,如果一个元素是空的来隐藏
$(function() {
$("element:empty").hide();
});