gpt4 book ai didi

javascript - 使用 jQuery append() 删除 append 的 div

转载 作者:行者123 更新时间:2023-11-30 17:01:53 24 4
gpt4 key购买 nike

您好,我有一个按钮,它使用 jquery append() 将一个 div 添加到我的 html。现在每个 append 的 div 都有一个关闭按钮,它使用 jquery remove() 删除 append 的 div。代码如下所示:

$(document).ready(function(){
$("#image-btn").click(function(){
var $imageElement = $("<div class='image_element' id='image-element'><div class='image_holder' align='center'><input type='image' src='{{URL::asset('images/close-icon.png')}}' name='closeStory' class='closebtn' id='close-img-btn' width='22px'><button type='button' class='img_btn' id='img-btn'>Upload Image</button></div></div>");
$("#element-holder").append($imageElement);
$imageElement.fadeIn(1000);

$("#close-img-btn").click(function(){
$imageElement.remove();
});
});
});

现在问题出现在删除 append 的 div 时。当我添加多个 div(每个都有一个关闭按钮)并单击最后 append 的 div 的关闭按钮时,没有任何反应。但是单击第一个 append 的 div 的关闭按钮会关闭所有其他 append 的 div。

我试图只关闭我关闭的 div 而不是其他的。我该怎么做呢 ?如果有人可以指导我完成,我将不胜感激。谢谢。

最佳答案

元素的 ID 必须是唯一的,当您使用 id 选择器时,它将仅返回具有该 id 的第一个元素,因此所有的点击处理程序都会添加到第一个按钮。

使用类和事件委托(delegate)

$(document).ready(function () {
$("#image-btn").click(function () {
var $imageElement = $("<div class='image_element' ><div class='image_holder' align='center'><input type='image' src='{{URL::asset('images/close-icon.png')}}' name='closeStory' class='closebtn' width='22px'><button type='button' class='img_btn' >Upload Image</button></div></div>");
$("#element-holder").append($imageElement);
$imageElement.fadeIn(1000);
});

$("#element-holder").on('click', '.closebtn', function(){
$(this).closest('.image_element').remove();
})
});

演示:Fiddle

更多阅读:

关于javascript - 使用 jQuery append() 删除 append 的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28690307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com