関数 before() を使用して、クラス「test2」で div をクリックして複製したいと考えています。クリックすると、元の div のクラス「test2」も削除されます。ユーザーが元の div を再度クリックすると、アラート ('ok') が表示されます。うまく機能していますが、div を n 回複製し、元の div を 1 回クリックすると、alert('ok'); すべて n 回になります。
私のコードは次のとおりです。
<div class="test1 test2">message</div>
<script src="jquery.js"></script>
<script>
$(function () {
function test() {
$('.test1').click(function(){
if($(this).hasClass('test2')){
$(this).before('<div class="test1 test2">message</div>');
$(this).removeClass('test2');
}
else{
alert('ok');
}
test();
});
}
test();
});
</script>