$.each(hand, function( index, value ) {
var img = $('<img /">').attr({'src': "images/"+value+".png"}).appendTo($('#myHand')).click(function(){this.hide()
});
});
Я использую этот код для создания кучи изображений в div. Однако код работает, когда я нажимаю на изображение, которое я хочу, чтобы оно скрывалось, поэтому что не так с моим кодом?
this
значение isin't объекта JQuery, это DOM - объект внутри обработчика.
Попробуйте: $(this).hide();
Также не очень эффективно прикрепить обработчик к каждому элементу img. Вы можете использовать делегирование событий, чтобы обрабатывать их все с помощью одного обработчика родительского элемента для всех изображений.
$('#parent').on('click', 'img', function (e) {
$(e.currentTarget).hide();
});