display:none などで隠れているかどうかを jQueryで判定する
↑ここに display:none にした要素 id='target' があります。
↑ここに visibility:hidden にした要素 id='target2' があります。これは:hiddenセレクタの対象外のため、ボタンをクリックするとfalseが返ってきます。
↑ここに input[type='hidden'] があります。これは:hiddenセレクタの条件にマッチするので、ボタンをクリックするとtrueが返ってきます。
↑ここに display:none にした要素の中にある要素 id='target4' があります。これは:hiddenセレクタの条件にマッチするため、ボタンをクリックするとtrueが返ってきます。
:hidden はdocument内で何がしかの高さ幅を持ってスペースを占めているかどうかで判断されるとのこと。
なので、 visibility:hidden は見えなくても幅高さはあり、対象外。
その要素の親要素が非表示の場合は、対象となる。