簡體   English   中英

在計時器之后僅刪除使用jQuery創建的最舊的元素

[英]Only deleting the oldest element created using jQuery, after a timer

每當單擊一個按鈕時,我都會飛過一只船,盡管此刻它會刪除屏幕上的所有船,而不是創建的最舊的船。

(function (el) {
  setTimeout(function () {
    el.children().remove('.ship');
  }, 5000);
}($('#saleShipHolder').append("<div class='ship' id='saleShip'></div>")));

它創建了船,附加了船元素,但是當船被移走時會出現問題,因為它將屏幕上的所有船都移走了,而不是最舊的船。 對不起,我覺得這很難解釋。

先感謝您。

對於初學者來說,每個“船”都有相同的ID,不應該具有相同的ID。 另外,由於它們都具有相同的類,因此將查找所有它們。

一種簡單的方法是將最新的ship元素splice到數組上,並在超時時將.pop()從最舊的條目中刪除,並將其刪除。

為什么不封裝船呢?

(function (el) {
    var ship = $("<div class='ship' id='saleShip'></div>");

    el.append(ship);

    setTimeout(function () {
      ship.remove();
    }, 5000);

}($('#saleShipHolder')));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM