我经历了很多帖子从SO,但无法与我的情况。关闭动态创建Div按钮点击
我有这个代码按钮点击。用户可以通过它在UI上创建尽可能多的div。
$('#adddiv').click(function() {
debugger;
$('#main').append('<div class="ara-dynamic-div"><div class="box box-solid bg-light-blue-gradient"><div class="box-header"><!-- tools box --><div class="box-tools"><div class="btn-group"><button class="btn btn-primary btn-sm dropdown-toggle" data-toggle="dropdown"><i class="fa fa-server"></i></button> <ul class="dropdown-menu pull-right" role="menu"> <li><a href="#">Add new event</a></li> <li><a href="#">Clear events</a></li> <li class="divider"></li> <li><a href="#">View calendar</a></li> </ul> </div> <button class="btn btn-primary btn-sm" data-toggle="tooltip" title="Overlay"><i class="fa fa-chain"></i></button> <button class="btn btn-primary btn-sm" data-widget="collapse" data-toggle="tooltip" title="Collapse" style="margin-right: 5px;"><i class="fa fa-minus"></i></button> <button id="remove" class="btn btn-primary btn-sm pull-right" data-widget="remove"><i class="fa fa-times"></i></button></div><i class="fa fa-map-marker"></i><h3 class="box-title"></h3></div><div class="box-body"></div><!-- /.box-body--></div></div>');
});
代码获取ButtonClick事件从该div
$(document).on('click', '#remove', function() {
showMakeAndHold(this);
});
function showMakeAndHold(obj) {
alert(obj);
$('.ara-dynamic-div').fadeOut();
}
现在的问题是,我要创建多个动态格。每个div都会有按钮关闭自己。当我调用这个函数时,它会关闭所有创建的div,而不是单击哪个按钮。
我无法找到接近请求的正确div。我是DOM和JQuery的新手。不能够涉及的事情
无需再进一步查看,ID是唯一的 - 每次创建新的DIV时,您的代码都会添加相同的div和按钮ID - 因此,如果您的div ID为目标,则删除一个将删除所有ID - 同样的按钮ID会触发当$(document).on('click','#remove',function(){'引发 –
@DarrenSweeney嘿,但如何克服这一点。当用户动态创建10个div。那么我将如何区分每个他们然后能够关闭它 –
在jquery中查看'nearest()'或'parent()'(如果总是相同的结构) - 你给按钮和外部div一个CLASS,而不是ID,那么当那个按钮类被点击你寻找与新的div类最接近的div并将其删除 –