2017-03-06 5 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

に要素を自分のコードを変更する必要があります。 1つの解決策は、[イベント委任](https://learn.jquery.com/events/event-delegation/)を使用することです。 – Andreas

答えて

2

on関数の構文が間違っています。それは動的な要素なので、イベントをそのコンテナに登録する必要があります。関数の場合、Eventは最初のパラメータ、2番目はセレクタです。

("div").remove()はすべてのdivを削除します。あなたはクラスで `removeBook`のみ`ボタン#のcreateBook`をクリック_after_存在

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

Demo

関連する問題