jQuery淡出留下了很小的间隙

jQuery淡出留下了很小的间隙,jquery,Jquery,我使用当前的jQuery隐藏淡出通知div,然后将其删除,但是当它完成时,的高度周围有一个奇怪的间隙,这意味着后续表单和页面元素不会显示在通知出现之前的位置 总而言之:淡出和移除效果很好,但我希望留下的间隙也能消失。这是一件小事,但它困扰着我 jquery: // Fade out any success divs. $(".success").fadeOut(6000, function(){ $(".success").remove(); }); 通知div由PHP在回发时编写,具

我使用当前的jQuery隐藏淡出通知div,然后将其删除,但是当它完成时,
的高度周围有一个奇怪的间隙,这意味着后续表单和页面元素不会显示在通知出现之前的位置

总而言之:淡出和移除效果很好,但我希望留下的间隙也能消失。这是一件小事,但它困扰着我

jquery:

// Fade out any success divs.
$(".success").fadeOut(6000, function(){
    $(".success").remove();
});
通知div由PHP在回发时编写,具有以下CSS:

.success {
    background-color: #b3ffb2;
    border: 1px solid green;
}

.box {
    margin: 5px;
    padding: 5px;
}
div非常简单:

<div class="success box"><p><strong>Success!</strong><br />Done!</p></div>
成功
完成

编辑:页面周围的标记如下所示:

<div id="wrapper">

    <div id="navigation">
        <ul> ... </ul>
    </div>

    <div id="container">
        <div class="success box">
            <p><strong>Sucess!</strong><br />
            Done</p>
        </div>
        // more content
    </div>

</div>

    成功
    完成

    //更多内容
    编辑:在FF 3.5.2中使用Firebug,我在使用inspector时看不到任何遗漏。只是有一个奇怪的差距。我还创建了这种现象的屏幕截图:


    在没有实际看到它的情况下,我假设它是
    #container
    //更多内容的产物
    $.remove()
    从DOM中删除元素并强制重画,因此假设它正常工作(语法看起来很好),这肯定不是.success的结果。

    尝试隐藏()而不是删除?

    我解决了这个问题,我注意到在淡出后仍然存在一个

    标记隐藏

    因此,为了隐藏div之后的第一个元素,我将jquery更改为:

    $(".success").fadeOut(6000, function(){
        $(".success + br").remove();
    });
    

    它将删除dom中选择器后面的下一项。从。

    中,在添加之前(大概是之后)周围的标记是什么?感谢您的关注!这是否有点澄清?这是在所有浏览器中发生的,还是仅在特定的浏览器(ie)中发生的?Safari 4(Mac)、IE8和Chrome(Win)都显示相同的问题。因此,当页面加载没有成功消息时,您不会看到这个问题?嗯,至少我有一些想法和想法,可以从这里开始。当我自己解决这个问题时,是你的评论帮助我解决了这个问题。非常感谢。