【问题标题】:jquery ui css does not appear when changes from display:none to display:inline从 display:none 更改为 display:inline 时 jquery ui css 不出现
【发布时间】:2012-07-31 10:18:33
【问题描述】:
大家好,
在我的基于 Web 的应用程序中,我有一个通常为 display:none 的 div,因此它被隐藏并且不占用任何空间。当发生某些事情时,我希望 div 以 ui-state-highlight ui-corner-all 类的样式出现,并且我将放入一些动态内容。所以我最初给这个隐藏的 div 这些类。问题是当我用一些动态内容显示 div 时,我刚才提到的类的样式不存在。
请看这个说明问题的小提琴:http://jsfiddle.net/qR8gK/
所需的结果是单击按钮时出现的 div 具有与最初可见的样式相同的样式。有谁知道我该怎么做??
谢谢!
【问题讨论】:
标签:
jquery
css
jquery-ui
dynamic-content
【解决方案1】:
调用show() 方法使其可见。
$('#a').button().click(function() {
$('#dynamic').html('<p>some dynamic content</p>').show();
});
工作样本:http://jsfiddle.net/qR8gK/16/
【解决方案2】:
只需使用.show(),而不是手动设置css显示设置。
$('#a').button().click(function() {
$('#dynamic').show().html('<p>some dynamic content</p>');
});
【解决方案3】:
代码中的实际问题是由于段落标记。删除<p> 并尝试。
$('#a').button().click(function() {
$('#dynamic').css('display', 'inline').html('some dynamic content');
});
示例:http://jsfiddle.net/qR8gK/19/