2017-03-06 45 views
2

我有我的JQuery的問題,我不明白爲什麼刪除按鈕不起作用,你能幫助我嗎? =) 因此,這裏是我的代碼:Jquery - 與.remove()的一些問題

$('.removeBook').on('click', function() { 
 
    $('div').remove(); 
 
}); 
 

 
$('#createBook').click(function() { 
 
    $('#list').append('<div>Hello' + '<button type="button" name="removeBook" class="removeBook">Remove</button>' + '</div>'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<button type="button" name="createBook" id="createBook">Create</button> 
 
<div id="list"> 
 
</div>

在此先感謝如果你能幫助我!

+0

與類元素'removeBook'只存在_after_點擊'按鈕#createBook'。一種可能的解決方案是使用[事件委託](https://learn.jquery.com/events/event-delegation/) – Andreas

回答

2

您的on函數語法錯誤。由於它是一個動態元素,因此您應該在其容器中註冊事件並在函數上註冊,Event應該是第一個參數,第二個是選擇器。

And ("div").remove()刪除所有div。你應該改變你的代碼

$("#list").on('click',"button.removeBook", function() { 
    $(this).parent().remove(); 
}); 

Demo