使用JQuery删除display:none时出现问题

时间:2010-10-13 10:26:54

标签: javascript jquery html

我正在使用Jquery按钮集,它内置于Jquery UI中。而selectmenu是一个ui插件。

.buttonset();拿一组按钮,然后将thhem变成单选按钮 .selectmenu();选择一个菜单并将其变成一个漂亮的弹出列表。

然而,当我将这些项目放在div中,其属性为display:none,然后在我的javascript代码中删除display:none buttonset没有圆角,而select菜单显示大约2 px宽,虽然我仍然可以点击这两个像素来打开菜单。

有什么想法吗?我会发布我的代码:

.hidden
{
    display:none;
}


        $("#test").selectmenu();
        $("#radioset").buttonset();

<div id="mydisplay" class="hidden">
    <div id="radioset">
                        <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1testetstes</label>
                        <br /><input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label>
                        <br /><input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label>
                    </div>
    <select name="test" id="test">
            <option value="slow">Test1</option>
            <option value="test2">Test2</option>
            <option value="test3">Test3</option>
            </select>
</div>

在某些时候我称之为:

$("#mydisplay").removeClass("hidden");

但是对象无法正常显示...我可以强制它们重新渲染吗?

1 个答案:

答案 0 :(得分:1)

使用display:block;而不是删除将元素的显示设置为none的类。在.hidden类的CSS中。然后使用$('。hidden')。hide()和$('。hidden')。show()来隐藏和显示整个事物。

像这样:

$(document).ready(function(){
    $('.hidden').hide();
    $('.someButtonThatShowsStuff').click(function(){
        $('.hidden').show();
        $("#test").selectmenu();
        $("#radioset").buttonset();
    });
});

编辑:修改代码以在显示元素后应用可视插件。