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 на странице.

В первый раз я через событие клика все работает отлично. Но второй раз через ничего не дописывается. И если я смотрю на HTML в firebug, .degreeSection div выделяется каждый раз, когда я выполняю щелчок, даже если больше ничего не добавляется. Это похоже на то, что jQuery перезаписывает старое добавление $addDegreeRow новым, вместо того, чтобы просто добавить еще одно.

Кто-нибудь сталкивался с этой проблемой раньше? Спасибо.


person MegaMatt    schedule 06.11.2010    source источник


Ответы (1)


Вы добавляете один и тот же элемент снова и снова. Если вам нужна копия этого элемента, вы должны сначала выполнить его clone().

person AndreKR    schedule 06.11.2010
comment
@Mega Matt, если этот ответ сработал для вас и был полезен, возможно, вы могли бы подумать о том, чтобы принять его? - person David says reinstate Monica; 07.11.2010