We've used various versions of jQuery and HTML5 to get Back and White images with hover and here is a decent solution.

Here we are adding grayscale to '.item img' so replace with your own element. The problem with many of these approaches is that they break your preferred code structure. CSS would be a more elegant way of doing it.

Black and White Grayscale CSS Hover