私は物事のカップルをお勧めします。
が空だときには、HTMLのコピーを作成することができます - あなたはすでにの値と何かのクローンを作成することや、それらをクリアする必要が自分自身を保存し、そのように。あなたがすでに持っている空のものだけを複製してください。
質問にはlive
も設定されていますが、実際に使用したいと思うのは「回答を追加」ボタンです。 LiveはDOM(あなたがやっている)に追加されたもののハンドラを設定します。これは、最初の回答が機能しないことを除いて、「回答を追加」ボタンを押すたびに表示されます。
var emptyQ = $("li.question").clone(),
emptyA = $("li.answer").clone();
$("#addQuestion").live('click', function(e) {
e.preventDefault();
$('#questioncontainer').append(emptyQ.clone());
});
$(".addAnswer").live('click', function(e) {
e.preventDefault();
$(this).parent().find(".answerContainer").append(emptyA.clone());
});
の作業例:http://jsfiddle.net/jonathon/Sd9Ag/
私がクリックされたボタンの質問/回答コンテナを取得するために$(this).parent()
を使用しています。これは、同じハンドラがすべての人に作用することを意味します。
最後に、違いがあるかどうかわかりませんが、return false
の代わりにe.preventDefault()
をクリックハンドラで使用しています。私は知らない - それはよりエレガントだと思う。
私はあなたが投票した理由を知りません、それは完全に有効な質問ですので、公平を回復するために投票しました。 – Andrey
おかげでAndrey。 1分以内にダウン投票!それが最初です。 – superUntitled