一直在纠结这个问题。真的希望有人能帮助我。
我正在尝试制作当您单击它们时可移动的 div。 他们有一个添加和删除的 css 类“tag-show”(这个有效),所以我猜选择器似乎没问题..?
为什么 $(this).remove() 不起作用?
$(document).ready(function() {
// selectors
var module = $(".divCreate");
var list = module.find(".listTag");
var button = module.find(".divButton");
// the actual issue
button.click(function() {
list.append("<div class='tag'>Tag</div>");
setTimeout(function() {
list.find(".tag").last().addClass("tag-show").on("click", function() {
$(this).removeClass("tag-show");
setTimeout(function() {
$(this).remove();
},190);
});
},40);
})
});
最佳答案
“this”在您的 setTimeout 中失去了它的上下文。 添加一个包含这个的 var 并改用那个。 像这样
var self = $(this);
setTimeout(function() {
$(self).remove();
},190);
我认为这会解决问题。
关于javascript - jQuery - 使动态创建的 DIV 在单击时自行删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32848045/