我經歷了很多帖子從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並將其刪除 –