0

私はtodo-listアプリケーションを作成しています。その中でjQueryを使用しており、ユーザーがAddボタンを押すと、新しいタスクがdivに追加されますtasksWrapperが、問題は1回だけ発生することです。もう一度ボタンを押して Addも何も起こりません。DOMツリーを確認しましたが、mainTaskFrag先頭に1つだけ追加しても同じです。これが私のコードです:

$(function(){
    var mainTaskFrag = $("<div class='wholeTask'>"),
    mainTaskContents = $('<div class="mainTaskWrapper clearfix">\
                            <div class="mainMarker"></div>\
                            <label for="task1">This is task1</label>\
                            <div class="holder"></div>\
                            <div class="subTrigger"></div>\
                            <div class="checkButton"></div>\
                            <div class="optTrigger"></div>\
                            <div class="mainOptions">\
                                <ul>\
                                    <li id="mainInfo">Details</li>\
                                    <li id="mainDivide">Divide</li>\
                                    <li id="mainEdit">Edit</li>\
                                    <li id="mainDelete">Delete</li>\
                                </ul>\
                            </div>\
                        </div>');    

  mainTaskFrag.prepend(mainTaskContents);

  $("#addMain").on("click", function(){                
      $("#tasksWrapper").prepend(mainTaskFrag);
  });    
});

</ p>

4

3 に答える 3

1

clone次の方法を使用できます。

$("#addMain").on("click", function(){             
      $("#tasksWrapper").prepend(mainTaskFrag.clone());
});  
于 2012-08-29T15:46:25.540 に答える
0

バインド$("#addMain")がもう存在しないためです。バインドを再度実行すると、機能するはずですが、バインドを再度実行しない、より良い方法を誰かが思い付くと確信しています。

于 2012-08-29T15:46:19.317 に答える
0

この.prepend()メソッドは、指定されたコンテンツをjQueryのコレクションオブジェクトの各要素の最初の子として挿入します(最後の子として挿入するには、を使用します.append())。

于 2012-08-29T15:47:48.600 に答える