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

値はthisjQuery オブジェクトではなく、ハンドラー内の DOM オブジェクトです。

試す:$(this).hide();

また、すべての img 要素にハンドラーをアタッチするのはあまり効率的ではありません。イベント委任を使用して、すべての画像の親で単一のハンドラーでそれらすべてを処理できます。

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