奇怪的问题。我有以下代码:
// remove template row from DOM and store in variable
var $addDegreeRow = $('.addDegreeRow').remove();
$('#addDegreeLink').click(function (ev) {
ev.preventDefault();
$('.degreeSection').append($addDegreeRow);
});
我正在从DOM中选择一个元素,将其删除,并在选择器$addDegreeRow
中保留其内容。然后我将点击事件分配给页面上的链接,该链接将存储的选择器附加到页面上的现有div。
我第一次通过点击活动,一切都很完美。但第二次通过什么都没有附加。如果我查看firebug中的HTML,每次执行单击时.degreeSection
div都会突出显示,即使没有其他内容被附加。这就像jQuery用旧的$addDegreeRow
覆盖旧的{{1}}附加,而不是仅添加另一个。
之前有没有人遇到过这个问题?感谢。
答案 0 :(得分:12)
您要反复追加相同的元素。如果你想要那个元素的副本,你必须先克隆()它。