We ran into a sneaky little problem where the only jQuery effects would work were show and hide. What we didn't realise is that a number of jQuery effects do not work on the span element. All we did to solve this was:
change the span to a div
Everything then functioned as expected.