Stroy71
@Stroy71
Век живи-век учись.

Удаление элемента при помощи динамически создаваемых атрибутов в jQuery?

Подскажите, как переписать нижеприведенную функцию так, чтобы она работала с jQuery 1.9+
$(".delete-input").live('click', function(){
    var rel = $(this).attr("rel");
    $("#addimage"+rel).fadeOut(300, function(){
        $("#addimage"+rel).remove();
    });
});

Я понимаю, что замена live()=on() Но не могу понять, каким должен быть второй аргумент в вызове.
  • Вопрос задан
  • 189 просмотров
Решения вопроса 2
xPomaHx
@xPomaHx
1vs9
$(document).on('click',".delete-input", function(){
    var rel = $(this).attr("rel");
    $("#addimage"+rel).fadeOut(300, function(){
        $("#addimage"+rel).remove();
    });
});
Ответ написан
Комментировать
@matios
Technical Team Lead
$(document).on('click',".delete-input", function(){
    var rel = $(this).attr("rel");
    if (rel) {
        var removedEl = $("#addimage"+rel);
        removedEl.fadeOut(300, function(){
            removedEl.remove();
        });
    }
});


Казалось бы - тоже самое, но нет. В вашем случае вы дважды ищите ВО ВСЕМ DOM дереве нужный узел. В моем случае узел находится единожды. Экономьте память ;)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы