Jquery 为什么.prepend()只能工作一次?
我正在制作一个待办事项列表应用程序,我在其中使用jQuery,当用户点击Jquery 为什么.prepend()只能工作一次?,jquery,events,dom,prepend,Jquery,Events,Dom,Prepend,我正在制作一个待办事项列表应用程序,我在其中使用jQuery,当用户点击Add按钮时,一个新任务会附加到taskswraperdiv,但问题是,它只发生一次。当我再次按下Add按钮时,什么也没有发生。我已经检查了DOM树,仍然是相同的,只有一个mainTaskFragprepend。这是我的密码: $(function(){ var mainTaskFrag = $("<div class='wholeTask'>"), mainTaskContents = $('&
Add
按钮时,一个新任务会附加到taskswraper
div,但问题是,它只发生一次。当我再次按下Add
按钮时,什么也没有发生。我已经检查了DOM树,仍然是相同的,只有一个mainTaskFrag
prepend。这是我的密码:
$(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);
});
});
$(函数(){
var mainTaskFrag=$(“”),
mainTaskContents=$('\
\
这是任务1\
\
\
\
\
\
\
详细信息\
划分\
编辑\
删除\
\
\
');
mainTaskFrag.prepend(mainTaskContents);
$(“#addMain”)。在(“单击”,函数(){
$(“#taskswraper”).prepend(主任务框架);
});
});
因为与
$(“#addMain”)
的绑定已不存在。如果你再做一次绑定,它应该会起作用,尽管我相信有人会想出一个更好的方法,不需要再做绑定。你可以使用clone
方法:
$("#addMain").on("click", function(){
$("#tasksWrapper").prepend(mainTaskFrag.clone());
});
.prepend()
方法将指定的内容作为jQuery集合对象中每个元素的第一个子元素插入(要将其作为最后一个子元素插入,请使用.append()
)。您能用一个?Hmmm重现这个问题吗,我从来没有想过,我实际上认为.prepend()
只需复制一份mainTaskFrag
并对其进行预处理。@Rafael是的,prepend
不会克隆该对象。