0

私は最近、このコードで質問を投稿して解決しましたが、今は別のことで問題が発生しています。ユーザーが「go.gif」を含む画像をクリックしようとした場合にアラートをスローするにはどうすればよいですか? 他のすべての画像をクリックして変更できるようにしたいのですが、ユーザーがその画像をクリックしようとすると、アラートがスローされ、そのままにしておく必要があります。

<table>
 <tr>
<td class='change' id='c1'><img src='images/on.gif'/></td>
<td class='change' id='c2'><img src='images/on.gif'/></td>
<td class='change' id='c3'><img src='images/on.gif'/></td>
<td class='change' id='c4'><img src='images/go.gif'/></td>
<td></td>    
</tr>
</table> 

この:

$(function() {
$(document).on('click', '.change', function () {
    var img = $(this).find('img');
    img.attr('src', (img.attr('src') == 'images/on.gif' ? 'images/off.gif' : 'images/on.gif'));
});
});

編集:実際、その画像を含むすべてのIDをリストするようにする方法はありますか。または、より簡単な場合は、その画像を含む ID は、ユーザーがクリックした場合にアラートをスローする必要があります。

わかりやすいと思います

4

1 に答える 1

1

次のように実行できます。

$(function () {
    $(document).on('click', '.change', function () {
        var img = $(this).find('img').not('[src$=go.gif]');
        img.attr('src', (img.attr('src') == 'images/on.gif' ? 'images/off.gif' : 'images/on.gif'));
    });
});

$('table td img[src$=go.gif]').click(function () {
    alert('Something that you like');
});

http://jsfiddle.net/micka/Ngs3T/

jquery の優れた選択方法については、このページをご覧ください: http://docs.jquery.com/Tutorials:How_to_Get_Anything_You_Want

于 2013-02-17T20:04:18.393 に答える