jQuery append()只在第一次工作

时间:2010-11-06 19:01:01

标签: jquery append

奇怪的问题。我有以下代码:

// 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}}附加,而不是仅添加另一个。

之前有没有人遇到过这个问题?感谢。

1 个答案:

答案 0 :(得分:12)

您要反复追加相同的元素。如果你想要那个元素的副本,你必须先克隆()它。