【问题标题】:jQuery append() only working first timejQuery append() 仅第一次工作
【发布时间】:2010-11-07 03:07:58
【问题描述】:

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

// 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 覆盖旧的追加,而不是仅仅添加另一个。

以前有人遇到过这个问题吗?谢谢。

【问题讨论】:

    标签: jquery append


    【解决方案1】:

    您一次又一次地附加相同的元素。如果您想要该元素的副本,则必须先对其进行 clone()。

    【讨论】:

    • 所以.append($addDegreeRow.clone())?
    • @Mega Matt,如果这个答案对你有用,并且有帮助,也许你可以考虑接受它?
    • 正在从字符串中读取一个元素,不认为它需要克隆,我错了
    • @RichardMuvirimi 人们还在使用 jQuery?
    • @AndreKR WordPress,没有办法解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-17
    • 2011-09-06
    • 2017-09-19
    • 1970-01-01
    相关资源
    最近更新 更多