1

私は2つのボタンを持っています.1つはdivを作成するためのもので、もう1つは追加されたdivを削除するためのものです. 新しい div を追加しても問題はありませんが、削除しようとすると div:eq(index) を使用できません。これは、DOM が読み込まれていないためです。コードは次のとおりです。

$(document).ready(function(e) {

$(".inner").eq(1).css("background-color","#0C9");
$(".inner").eq(2).css("background-color","#F00");
$(".inner").eq(3).css("background-color","#990");

$("#add").click(function(){
    $(".content").append("<div class='inner'><a href='#' class='rem'>remove this inner</a></div>"); 
});

$(document).on("click","a.rem",function(e){
    e.preventDefault();
    var num = $("a.rem").index(this);
    //alert(num);
    $(".inner").eq(num).remove();
});
});
</script>

jsfiddle のコード: http://jsfiddle.net/7uzSv/3/

4

4 に答える 4

1
$('.content').on('click', 'a.rem', function(e){
  e.preventDefault();
  $(this).closest('.inner').remove();
});

これは少し異なる解決策ですが、私の意見ではより効果的です。

フィドル: http://jsfiddle.net/7uzSv/2/

于 2013-06-28T14:23:44.020 に答える