0

このコードが行うことは、#paragraph の値が何であれ、textarea タグである段落を作成することであり、完全に正常に機能します。

$('#insert_paragraph').click(function(){
  var text = $('#paragraph').val();
  $('#container').append('<p>'+text+'</p>');
});

このコードは、クリックされた p タグにクラスを追加するだけですが、このクラスは、ページが最初にレンダリングされたときに作成された p 要素にのみ追加され、上記のコードで作成された p 要素には追加されません。

$('p').click(function(){
  $(this).addClass('box');
});
4

2 に答える 2

1

TJ その通りです。イベントをすべての既存の段落にバインドしています。その後、作成された追加の段落タグにはイベントがバインドされません。

以下のコードは、イベントを結合し、段落が追加された直後に段落クリック イベントをバインドします。ページがロードされた後も、既存のすべての段落をバインドする必要があります。

$('#insert_paragraph').click(function(){
    var text = $('#paragraph').val();
    $('#container').append('<p>'+text+'</p>');

     //Bind Event to last paragraph (the one just added)
     $('#container p:last-child').click(function(){
         $(this).addClass('box');
     });
});
于 2013-05-06T22:10:48.857 に答える