.hide () для «this» сгенерированного элемента img

0
    $.each(hand, function( index, value ) {
        var img = $('<img /">').attr({'src': "images/"+value+".png"}).appendTo($('#myHand')).click(function(){this.hide()
        });
    });

Я использую этот код для создания кучи изображений в div. Однако код работает, когда я нажимаю на изображение, которое я хочу, чтобы оно скрывалось, поэтому что не так с моим кодом?

Теги:

1 ответ

5
Лучший ответ

this значение isin't объекта JQuery, это DOM - объект внутри обработчика.

Попробуйте: $(this).hide();

Также не очень эффективно прикрепить обработчик к каждому элементу img. Вы можете использовать делегирование событий, чтобы обрабатывать их все с помощью одного обработчика родительского элемента для всех изображений.

$('#parent').on('click', 'img', function (e) {
    $(e.currentTarget).hide();
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню