HTMLページに[追加と削除]ボタンをコーディングして、ページ内の画像コードを削除または追加しようとしています。DELETEボタンは、ボタンの前の最初の画像を削除します。[追加]ボタンを押すと、新しい画像がHTMLページに挿入され、[削除]ボタンが画像に挿入されます。
コードは正常に機能します。[削除]ボタンをクリックすると画像が削除され、[追加]ボタンをクリックすると画像が挿入されます。問題は、[追加]ボタンをクリックした後に挿入された削除ボタンが機能しないことです。したがって、[追加]ボタンをクリックしてから[削除]ボタンをクリックしても、画像は非表示になりません。クリックイベントは発生していません。
コードは次のとおりです。
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.img-post input').after('<button type="button" >Delete</button>');
$(".img-post button").click(function() {
$(this).prev().prev().remove();
$(this).prev().remove();
$(this).remove();
});
$(".add-img button").click(function() {
$('<img src="image3.jpg" /><input type="hidden" name="allimages[]" value="image3.jpg" /><button type="button" >Delete</button><br />').appendTo('.img-post');
});
});
</script>
</head>
<body>
<div class="img-post">
<img src="image1.jpg" /><input type="hidden" name="allimages[]" value="image1.jpg" /><br />
<img src="image2.jpg" /><input type="hidden" name="allimages[]" value="image2.jpg" /><br />
</div>
<div class="add-img">
<button type="button" >Add image</button>
</div>
</body>
</html>