Created by: Herst
Now that jQuery 3 is released and it does not seem to seem to support [hidden] (which makes sense as they support browsers which don't have native support for it) the statement about possible support can be removed.
BTW, I am personally against the use of .hide()/.show() as using a .hidden/d-none together with .addClass()/.removeClass()/.toggleClass() works just as well and has the nice side effect of making testing of visibility easily possible using .hasClass() which is better than jQuery's non-standard and slow :visible selector.