jQuery切换更改元素的宽度?我不想要它

时间:2009-09-18 09:33:27

标签: javascript jquery html

我目前有一个宽度为94%的表,并设置了以下切换:

    $(document).ready(function(){

        $("#moreinfo").hide();

        $("#toggleinfo").click(function () {
            $("#moreinfo").toggle('normal');
        });

    });

它切换很好,但是一旦你切换,宽度变得非常小,我不知道为什么。如果我删除hide()它是正确的宽度,但是一旦我开始切换它,宽度会自动调整大小。

刚试过以下的CSS:

#moreinfo { width: 94% !IMPORTANT; }

编辑:当我切换它时,它似乎完全删除了通过CSS应用的任何宽度

Edit2: 将其包含在另一个div中!我觉得不理想,但不是一个糟糕的解决方案。

有什么方法可以阻止这个吗?

1 个答案:

答案 0 :(得分:3)

jQuery toggle()函数将目标元素(在本例中为'#moreinfo')设置为display: block。只是猜测没有看到你的CSS或HTML,但我选择的是,当显示属性发生变化时,表的定位或布局不正确。

您可以通过使用display: inlineposition: relative将moreinfo元素包装到另一个div中来解决此问题吗?但这只是猜测。不同的浏览器会显示相同的结果吗?