$.each(hand, function( index, value ) {
var img = $('<img /">').attr({'src': "images/"+value+".png"}).appendTo($('#myHand')).click(function(){this.hide()
});
});
我正在使用此代码在div中生成一堆图像。代码正在运行,但是,当我点击一个图像时我希望它被隐藏起来,那么我的代码有什么问题?
答案 0 :(得分:5)
this
值不是jQuery对象,它是处理程序内的DOM对象。
尝试:$(this).hide();
将处理程序附加到每个img元素也不是非常有效。您可以使用事件委派来处理所有图像的父级上的单个处理程序。
$('#parent').on('click', 'img', function (e) {
$(e.currentTarget).hide();
});