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