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

我正在使用此代码在 div 中生成一堆图像。代码正在运行,但是,当我单击图像时,我希望它被隐藏,那么我的代码有什么问题?

4

1 回答 1

5

this值不是 jQuery 对象,它是处理程序中的 DOM 对象。

尝试:$(this).hide();

此外,将处理程序附加到每个 img 元素也不是很有效。您可以使用事件委托在所有图像的父级上使用单个处理程序来处理它们。

$('#parent').on('click', 'img', function (e) {
    $(e.currentTarget).hide();
});
于 2013-09-21T02:35:39.437 回答