This is because if the current src and new src are the same, it does not load the new image, since both of them are the same. The hack for this makes the current src value empty.
$("#btn").click(function(){ $("#tst").attr('src',''); $("#tst").attr('src','https://www.google.co.il/images/srpr/logo3w.png'); });
jsFiddle demo link
source share