我最近用这个代码发布了一个问题并解决了它,但现在我遇到了其他问题。如果用户试图点击包含'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都应该在用户点击它时发出警报。
我希望这很容易理解
答案 0 :(得分: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