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

Nic*_*ick 8 html javascript jquery

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

    $(document).ready(function(){

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

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

    });
Run Code Online (Sandbox Code Playgroud)

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

刚试过以下的CSS:

#moreinfo { width: 94% !IMPORTANT; }
Run Code Online (Sandbox Code Playgroud)

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

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

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

Phi*_*ler 3

jQuerytoggle()函数将您的目标元素('#moreinfo'在本例中)设置为display: block. 这只是在没有看到 CSS 或 HTML 的情况下的猜测,但我认为该表在更改其显示属性时,定位或布局不正确。

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