You're not actually setting the source once you've replaced it: $('li.clickable').hover(function() { $(this).find('img').attr('src', $(this).find('img').attr ('src').replace("_off","_over")); }, function() { $(this).find('img').attr('src', $(this).find('img').attr ('src').replace("_over","_off")); });
It might be worth setting a variable to $('li.clickable').find('img') as well since it's used 4 times in there, just to reduce overhead. On Aug 26, 4:44 pm, wheatstraw <psurr...@gmail.com> wrote: > OK! we're close... > > If I attach this to a variable and echo it out, it give's me the > correct string. The _off is replaced with _over and the other way > around. As I have it below, on hover, the image will not change, no > errors (firebug), just doesn't do anything. > > $('li.clickable').hover(function() { > $(this).find('img').attr('src').replace("_off","_over");}, function() > { > > $(this).find('img').attr('src').replace("_over","_off"); > > });