.hide()对“this”生成的img元素

时间:2013-09-21 02:32:41

标签: jquery

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

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

1 个答案:

答案 0 :(得分:5)

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

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

将处理程序附加到每个img元素也不是非常有效。您可以使用事件委派来处理所有图像的父级上的单个处理程序。

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