2013-02-11 85 views
2

我需要在父div內添加一個子div,然後在x秒內刪除子div。JQuery - 添加DOM元素,然後將其刪除

可能有幾個孩子的div添加到父div。

什麼是識別和刪除子div的最佳方式?

$("#parent_div").prepend("<div>"+msg+"</div>"); 

謝謝。

回答

7

通過保持對它的引用:

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

重新下方的評論:

爲什麼延遲(的setTimeout的代替)()沒有在這種情況下工作?

delay與效果隊列一起使用。 remove不是一個影響相關的方法。您當然可以使用delayeffects methods之一,但是,像slideUp一樣。然後,你會在效果方法的完成回調中移除子項,如下所示:

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

那麼,+1(正確),但該函數名?聽起來像是一場可怕的八十年代派對...... – 2013-02-11 17:27:59

+0

+1,我不知道他究竟在問什麼,但它看起來像是它。 – gdoron 2013-02-11 17:28:25

+2

@DavidThomas:LOL !! – 2013-02-11 17:28:59