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 回答