0

我有以下 HTML:

<ul class="message" 
    style="border-width: 1px 0 0 0;
           border-top-left-radius: 0;
           border-top-right-radius: 0;">
</ul>

以及设置 $message 的这段代码:

oLink.$message = oLink.$modal.find('.message');

我有以下添加消息的javascript:

obj.$message.html("<li>Contacting Server, please wait ...</li>");

这可行,但问题是,当没有消息时,我的 ul 仍然使用一些属性设置样式,这些属性赋予它一个高度并使其显示为屏幕底部的一个区域。有什么方法可以让消息不可见,然后显示出来。我不太擅长 jQuery,但我可以在创建新消息时链接显示或隐藏吗?

4

3 回答 3

1

ul仅使用 css(和现代浏览器),您可以使用:empty伪类设置空样式

ul:empty {
   display: none;
}

小提琴示例:http: //jsbin.com/ipeciw/1/edit

ul或者只是通过 jQuery 以编程方式删除/隐藏空

$('ul:empty').remove(); // or hide() if you need it later
于 2012-09-20T13:18:11.003 回答
0

这都是css相关的。你说的高度可能是默认的边距或填充。

你最初可以隐藏它

ul.message { display:none; }

然后当你编写 html 时,像这样显示它。

obj.$message..show().html("<li>Contacting Server, please wait ...</li>");
于 2012-09-20T13:17:56.120 回答
0

有 jQuery 的 show 和 hide 方法。如果消息仍然没有改变,您可以将其插入 ul 中,然后像这样显示/隐藏它:

$('.message').show();
$('.message').hide();

查看更多信息: http : //api.jquery.com/show/ http://api.jquery.com/hide/

于 2012-09-20T13:18:55.373 回答