Я работаю над плагином, который будет дублировать элемент. Я также хочу, чтобы этот плагин дал возможность удалить последний дублированный элемент. Например, пользователь нажимает на свою кнопку (может быть якорем, если захочет), и он дублирует элемент, добавляет идентификатор с добавочным целым числом (например, duplicated_node_2), а затем помещает дублированный элемент в указанное место. Как только это было размещено там, пользователь может щелкнуть отдельную кнопку (или привязать или что-то еще), и он удалит этот последний дублированный элемент.Удалить последний элемент в jQuery
Использование селектора с .click внутри плагина будет жестко задавать элемент. Я предпочел бы сделать так, чтобы плагин удалял последнюю вещь, дублированную. Я также не хочу использовать что-то вроде $ ('div # duplicated_node_2'). Last(). Remove() или даже что-то подобное.
Я пробовал думать о том, чтобы поместить переменные счетчика в массив и связать их с последним элементом, но это кажется слишком сложным для того, что я пытаюсь сделать. Есть ли у кого-нибудь идеи о том, как я мог бы обобщить этот процесс?
Вот часть кода. Он посвящен процессу дублирования и прилагает к копии по умолчанию:
(function ($) {
$.fn.myDuplicatingFunction = function(options){
...
... setting up the defaultOptions and checking if the idPrefix is undefined or not ...
... [omitted from post]
...
var nodeToClone = this;
var n = 1; // counter declared
$(defaultOptions.duplicateButton).click(function(){
n++; // increment that counter
var clonedNode = nodeToClone.clone(true); // clone the node and assign to new var
clonedNode.attr('id',defaultOptions.idPrefix + '_' + n); // update attr ID with the new one
$(clonedNode).appendTo(defaultOptions.copyToLocation); // append to location
});
/// trying to figure out the removal process
$(defaultOptions.removeButton).click(function(){
$(defaultOptions.copyToLocation).last().remove();
});
}
}(jQuery));
Заранее благодарим за любой ваш отзыв.
Примечание: Я все еще довольно новичок в создании jQuery и плагинов. Если у вас есть положительная обратная связь по поводу организации кода или рекомендаций по эффективности, не стесняйтесь звонить.
Редактировать: Я оставил (0) для последним функции. Спасибо за уловку. У меня на самом деле был правильный код в моей среде IDE.
Получил это. Спасибо, что поймал это. Я обновил свой пост. – rdldew