JQuery - 添加DOM元素然后删除它

iht*_*tus 2 jquery

我需要在父div中添加一个子div,然后在x sec中删除子div.

父div可能会添加几个子div.

识别和删除子div的最佳方法是什么?

$("#parent_div").prepend("<div>"+msg+"</div>");
Run Code Online (Sandbox Code Playgroud)

谢谢.

T.J*_*der 7

通过保持对它的引用:

function doTheChildDivThing() {
    var child = $("<div>" + msg + "</div>");
    $("#parent").prepend(child);
    setTimeout(function() {
        child.remove();
    }, 1000);
}
Run Code Online (Sandbox Code Playgroud)

你的评论如下:

为什么delay()(而不是setTimeout)在这种情况下不起作用?

delay适用于效果队列.remove不是与效果相关的方法.你当然可以使用delay其中一种效果方法,比如slideUp.然后你将在效果方法的完成回调中删除子,如下所示:

function doTheChildDivThing() {
    var child = $("<div>" + msg + "</div>");
    $("#parent").prepend(child);
    child.delay(1000).slideUp(function() {
        child.remove();
    });
}
Run Code Online (Sandbox Code Playgroud)

  • 那么,+1(对于正确),但该功能名称?听起来像八十年代可怕的派对...... (3认同)
  • @DavidThomas:哈哈! (2认同)