2

私のコードには次のものがあります。

$(document).ready(function(){           
    $("input#Addmore").click(function(){
        $('div#add_div').append("<a class='remove' href='#'>X</a>");
    });         
});

このコードは、追加ボタンをクリックすると、jquery で「X」をクリックすると、上記の追加コードの親 div を削除したいと考えています。その目的のために、私はこのコードを使用しています

$("a.remove").click(function(){ 
    $(this).closest("div").remove();
});

しかし、jQuery が追加アンカー コードを取得しなかったため、コードは機能しません。誰でも解決策を教えてもらえますか?

4

3 に答える 3

4

イベントを最も近い静的要素に委任する必要があります。これを試して:

$('#add_div').on('click', 'a.remove', function() {
    $(this).closest("div").remove();
});

または、古いバージョンの jQuery (1.7 未満) を使用している場合は、次のdelegate()ように使用します。

$('#add_div').delegate('a.remove', 'click', function() {
    $(this).closest("div").remove();
});
于 2012-11-28T11:27:13.343 に答える
2

これを試して

$('#add_div').delegate('a.remove', 'click', function() {
    $(this).closest("div").remove();
});
于 2012-12-29T10:03:40.073 に答える
0

または、これを試すことができます:

  $("input#Addmore").click(function(){
       $("div#add_div").append("<a class='remove' href='javascipt:;' onclick='remove(this);return false' href='#'>X<br/></a>");
});    

ここに削除機能があります:

 window.remove = function(obj)
   {
        $(obj).closest('div').remove();
   }

ここを参照してください:http://jsfiddle.net/Hvx2u/3/

于 2012-11-28T11:43:12.220 に答える