That's not entirely true. Chances are you're running into this type of situation.
I was trying to hide a set of ui-block-* elements in a JQM grid when the user tapped a button. On the same set of ui-block-* elements, my media query for an iPhone was setting
display: block !important. When the user would tap the button the elements would animate to hide but then suddenly re-appear.
This was not a problem on an iPad or in a desktop version of Chrome. But on the iPhone (iOS 6 and 7 at least), the !important directive was winning -- was dictating the final display.
That !important directive was unnecessary in my case, so when I removed it the calls to hide() and show() began working as expected.