我需要在父div中添加子div,然后在x秒内删除子div。父div中可以添加多个子div。识别和删除子div的最佳方法是什么?
$("#parent_div").prepend("<div>"+msg+"</div>");
字符串
piwo6bdm1#
通过保持对它的引用:
function doTheChildDivThing() { var child = $("<div>" + msg + "</div>"); $("#parent").prepend(child); setTimeout(function() { child.remove(); }, 1000); }
字符串回复您的评论:为什么delay()(而不是setTimeout)在这种情况下不起作用?delay使用效果队列。remove不是一个与效果相关的方法。当然,您可以将delay与其中一个effects methods一起使用,例如slideUp。然后你可以在effects方法的completion回调函数中移除子元素,像这样:
delay
remove
slideUp
function doTheChildDivThing() { var child = $("<div>" + msg + "</div>"); $("#parent").prepend(child); child.delay(1000).slideUp(function() { child.remove(); }); }
型
yfwxisqw2#
试试这个方法:
$("<div/>", { // PROPERTIES HERE text: "Click me", id: "example", "class": "myDiv", // ('class' is still better in quotes) css: { color: "red", fontSize: "3em", cursor: "pointer" }, on: { mouseenter: function() { console.log("PLEASE... "+ $(this).text()); }, click: function() { console.log("Hy! My ID is: "+ this.id); } }, append: "<i>!!</i>", appendTo: "body" // Finally, append to any selector }); // And remove setTimeout(() => { $('.myDiv').remove(); }, 1000)
2条答案
按热度按时间piwo6bdm1#
通过保持对它的引用:
字符串
回复您的评论:
为什么delay()(而不是setTimeout)在这种情况下不起作用?
delay
使用效果队列。remove
不是一个与效果相关的方法。当然,您可以将delay
与其中一个effects methods一起使用,例如slideUp
。然后你可以在effects方法的completion回调函数中移除子元素,像这样:型
yfwxisqw2#
试试这个方法:
字符串