我需要在父 div 中添加一个子 div,然后在 x 秒内删除子 div。
可能有几个子 div 添加到父 div。
识别和删除子 div 的最佳方法是什么?
$("#parent_div").prepend("<div>"+msg+"</div>");
谢谢。
我需要在父 div 中添加一个子 div,然后在 x 秒内删除子 div。
可能有几个子 div 添加到父 div。
识别和删除子 div 的最佳方法是什么?
$("#parent_div").prepend("<div>"+msg+"</div>");
谢谢。
通过保留对它的引用:
function doTheChildDivThing() {
var child = $("<div>" + msg + "</div>");
$("#parent").prepend(child);
setTimeout(function() {
child.remove();
}, 1000);
}
在下面回复您的评论:
为什么延迟()(而不是 setTimeout)在这种情况下不起作用?
delay
与效果队列一起使用。remove
不是与效果相关的方法。不过,您当然可以使用delay
其中一种效果方法,例如slideUp
. 然后,您将在效果方法的完成回调中删除子项,如下所示:
function doTheChildDivThing() {
var child = $("<div>" + msg + "</div>");
$("#parent").prepend(child);
child.delay(1000).slideUp(function() {
child.remove();
});
}
试试这个方法:
$("<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)