Javascript 在jQuery中单击自身内的元素时,是否删除动态生成的元素?

Javascript 在jQuery中单击自身内的元素时,是否删除动态生成的元素?,javascript,jquery,html,Javascript,Jquery,Html,单击动态生成的元素块内部的按钮时,如何删除该元素块 function controlContent(target, trigger) { //this will add a new div to target which is an existing html element $(trigger).on("click", () => { $(target).append(` <div class="dynamic-contain

单击动态生成的元素块内部的按钮时,如何删除该元素块

function controlContent(target, trigger) {
    //this will add a new div to target which is an existing html element
    $(trigger).on("click", () => {
        $(target).append(`
            <div class="dynamic-container">
                <button class="remove-btn">Remove the div I am inside</button>
            </div>
        `)
    }

    //this should remove the div that was added when I click the remove button
    $(target).on("click", ".remove-btn", () => {
        $(this).closest(".dynamic-container").remove();
    }
}
函数控制内容(目标、触发器){
//这将向目标添加一个新的div,它是一个现有的html元素
$(触发器)。在(“单击”,()=>{
$(目标)。追加(`
取下我在里面的div
`)
}
//这将删除我单击“删除”按钮时添加的div
$(目标)。在(“单击“,”。删除btn“,()=>{
$(this).closest(“.dynamic container”).remove();
}
}

使用普通函数,也可以使用动态单击侦听器,这样您就不必每次都创建一个新的事件侦听器

$(document).on('click', '.remove-btn', function(){
    $(this).closest(".dynamic-container").remove();
})

使用普通函数,也可以使用动态单击侦听器,这样您就不必每次都创建一个新的事件侦听器

$(document).on('click', '.remove-btn', function(){
    $(this).closest(".dynamic-container").remove();
})

首先:您应该使用
$(document)。在(“click”,target,function(){…}
上动态生成元素

SECOND:简单到
parent()

示例:

$(.button1”)。在(“单击”,函数()上){
$(“.generatedbuttons”).append('单击我以删除我和我的父项');
});
$(文档)。在(“单击“,”.button2”,函数()上{
$(this.parent().remove();
});
.button1{
显示:块;
浮动:左;
}
格林先生{
填充:10px;
背景颜色:绿色;
显示:块;
浮动:左;
明确:两者皆有;
}

单击我生成按钮

首先:您应该使用
$(文档)。在(“单击”,目标,函数(){…}
上动态生成元素

SECOND:简单到
parent()

示例:

$(.button1”)。在(“单击”,函数()上){
$(“.generatedbuttons”).append('单击我以删除我和我的父项');
});
$(文档)。在(“单击“,”.button2”,函数()上{
$(this.parent().remove();
});
.button1{
显示:块;
浮动:左;
}
格林先生{
填充:10px;
背景颜色:绿色;
显示:块;
浮动:左;
明确:两者皆有;
}

单击我生成按钮

我对jQuery不太熟悉,但它似乎有一个
父()
selector-这行吗?不要使用箭头函数,这是错误的
this
。应该从静态容器元素中委托一次删除处理程序,而不是每次添加元素时。我对jQuery不太熟悉,但它似乎有一个
parent()
selector-这样行吗?不要使用箭头函数,这是错误的
this
。您应该只从静态容器元素中委托一次删除处理程序,而不是每次添加元素。